I want to send the App req to 5 people , i have managed to get the UserID's of 5 people but its always those same 5 people , isnt there a way to randomise the USERID's
which i get from Facebook ?
<script>
var profilePicsDiv = document.getElementById('profile_pics');
FB.getLoginStatus(function(response) {
FB.api({ method: 'friends.get' }, function(result) {
Log.info('friends.get response', result);
var user_ids="" ;
var numFriends = result ? Math.min(5, result.length) : 0;
if (numFriends > 0) {
for (var i=0; i<numFriends; i++) {
user_ids+= (
',' + result[i]
);
}
}
profilePicsDiv.innerHTML = user_ids;
alert(user_ids);
});
});
function sendRequestToRecipients() {
var user_ids = document.getElementsByName("user_ids")[0].value;
FB.ui({method: 'apprequests',
message: 'My Great Request',
to: user_ids, /// How to Fill the ID's HERE ?
}, requestCallback);
}
</script>
You are now always taking friends 0, 1, 2, 3, and 4 from the result. If the result is longer then you'll never get those friend ids. You should calculate 5 random integers between 0 and length - 1 (inclusive) and get those instead (for example,
result[3]
,result[84]
, et cetera). You should then send invites to those friends.To compute a random number between
0
andresult.length - 1
, see this StackOverflow question: Generating random whole numbers in JavaScript in a specific range? .I'm not that familiar with the
FB.ui
function but you should check whether you are giving the numbers in the way it expects them. Does it want them comma-separated as you do now? Or do you have to call it five times, once for each app request? That's something you should look up. If it's the latter then you have to iterate over the user_ids and callFB.ui
with each user id.I havent tested, but this should work,
Here, in loop I generate a random no from 0 to
result.length
(i.e. total friends in current response) And then I use that random no to fetch random id from the given list.Edit: (after OP asked about non-repeating randoms),
Based on your requirement, this should work...
Here, instead of generating random no each time, I generate a random no once and then increment it. If random no exceeds the total no of friends, then I start from 0.
This will always give random friends each time :)
Code is not tested, I apologize if has errors ( But code surely gives you a direction to think)