J'essaie d'obtenir la liste d'anniversaire d'un ami.
Mais comment trouver en utilisant mon api je ne sais pas.
Note: Ceci n'est plus possible. Voir cette réponse .
Utilisez l'API OpenGraph dans n'importe quel environnement utilisé pour récupérer les informations. L'anniversaire est dans l'objet d'informations utilisateur, voir docs: http://developers.facebook.com/docs/reference/api/user
Vous pouvez également utiliser facebook api:
$friends_birthday = $facebook->api("/me/friends?fields=id,name,birthday");
vous devez également avoir l'autorisation friends_birthday
dans le cadre de votre application
Depuis la v2.0 de l’API Graph, il n’est plus possible d’obtenir les anniversaires des amis. Vous ne pouvez obtenir la date de naissance de l'utilisateur autorisé qu'en utilisant l'autorisation user_birthday
. Voir le changelog pour plus d'informations: https://developers.facebook.com/docs/apps/changelog
Il n'y a qu'une seule autre possibilité: si l'ami a autorisé l'application avec user_birthday
, vous pouvez obtenir son anniversaire avec l'appel suivant: /friend-id?fields=birthday
Bien entendu, vous devez également autoriser les utilisateurs avec user_friends
pour que cela fonctionne. Et vous pouvez également simplement enregistrer la date de naissance de tous les utilisateurs autorisés sans perdre un appel API supplémentaire.
Tout d’abord, lisez le fichier lisez-moi sur la page du projet pour commencer à utiliser le SDK .
Vous aurez ensuite besoin de regarder la référence API et plus particulièrement la section profil de l'utilisateur .
Une fois que vous avez terminé, vous obtiendrez un objet JSON que vous pourrez analyser à l'aide du package org.json dans le SDK Android.
Espérons que cela vous aide.
Ceci est le lien pour Graph API Explorer
https://developers.facebook.com/tools/Explorer/?method=GET&path=me allez sur le lien et cliquez sur Get Access Tocken vous pouvez avoir une fenêtre contextuelle pour sélectionner les autorisations et sélectionnez votre jeton d'accès . et dans la section des noeuds, sélectionnez les champs souhaités (par exemple, sélectionnez des amis et sélectionnez un anniversaire dans la sélection de vos amis) et OBTENEZ une requête en cliquant sur SUBMIT, puis l'anniversaire d'un ami. et id avec le vôtre comme un Json Data.
Vous devez utiliser FQL pour obtenir une liste de l'anniversaire d'un ami.
FQL serait (remplacez simplement votre jeton d'accès):
"https://api.facebook.com/method/fql.query?query=select nom, date anniversaire de l'utilisateur où uid est (sélectionnez uid2 de l'ami où uid1 = me ()) & access_token = your_access_token "
essayez ceci, il ne faut que quelques lignes
FBRequest * request = [FBRequest requestForGraphPath:@"me/friends?
fields=id,name,birthday&limit=5000"];
[request startWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error)
{
if(error == nil){
NSLog(@"%@",result);
}
}];
obtenez la liste complète des amis avec Graph api, parcourez json data array, puis vérifiez pour birthday = today .. c'est-à-dire
FB.api('me/friends?fields=id,name,birthday')
ne fonctionne pas à partir du 09/12/2017.
Vous trouverez ci-dessous le message de débogage de l'outil d'exploration de graphes lorsque j'essaie d'atteindre le point final.
Only friends who installed this app are returned in API v2.0 and higher. total_count in summary represents the total number of friends, including those who haven't installed the app
Pour ne renvoyer que la liste d'amis de l'utilisateur, vous pouvez essayer d'appuyer sur le noeud final ci-dessous avec un jeton d'accès valide.
FB.api('me/friendlists')
Mais notez que vous avez besoin de read_custom_friendlists permission de l'utilisateur.
vous pouvez obtenir la liste d'amis dans iOS de cette façon:
- (IBAction)pickFriendsClick:(UIButton *)sender {
NSArray *permissions = [[NSArray alloc] initWithObjects:
@"user_birthday",@"friends_hometown",
@"friends_birthday",@"friends_location",
nil];
[FBSession openActiveSessionWithReadPermissions:permissions allowLoginUI:YES completionHandler:nil];
FBRequest *friendRequest = [FBRequest requestForGraphPath:@"me/friends?fields=name,picture,birthday,location,updated_time,email"];
[ friendRequest startWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
NSArray *data = [result objectForKey:@"data"];
NSMutableArray *friends= [data mutableCopy];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"updated_time"
ascending:TRUE];
[friends sortUsingDescriptors:[NSArray arrayWithObject:sortDescriptor]];
for (FBGraphObject<FBGraphUser> *friend in friends) {
NSLog(@"%@:%@", [friend name],[friend birthday]);
}}];
}
Merci.