如何使用facebook api获取朋友的生日列表?

时间:2010-08-03 04:39:43

标签: facebook

我想找到朋友的生日清单。

但如何找到使用我的api我不知道。

10 个答案:

答案 0 :(得分:20)

您也可以使用facebook api:

$friends_birthday = $facebook->api("/me/friends?fields=id,name,birthday");

您还必须拥有应用范围内的权限friends_birthday

答案 1 :(得分:18)

  

注意:这已不再可能。请参阅this answer

在您用于检索信息的任何环境中使用OpenGraph API。生日在用户信息对象中,请参阅文档:http://developers.facebook.com/docs/reference/api/user

答案 2 :(得分:18)

从图谱API的v2.0开始,就不可能再获得朋友生日了。您只能使用user_birthday权限获取授权用户的生日。有关详细信息,请参阅更改日志:https://developers.facebook.com/docs/apps/changelog

只有另外一种可能性:如果朋友使用user_birthday授权了应用,您可以通过以下电话结束他的生日:/friend-id?fields=birthday

当然,您需要使用user_friends授权用户,以便使其工作。您还可以存储所有授权用户的生日,不要浪费额外的API调用。

答案 3 :(得分:8)

首先,阅读project page to get started with the SDK上的自述文件。

然后,您需要查看API reference,更具体地说是user profile section

完成所有操作后,您最终会得到一个JSON对象,您可以使用Android SDK中的org.json package进行解析。

希望能帮到你。

答案 4 :(得分:6)

您必须使用FQL获取朋友的生日列表。

FQL将(只是替换您的访问令牌):

  

“https://api.facebook.com/method/fql.query?query=select name,birthday_date from user where uid in(选择uid2来自朋友,其中uid1 = me())& access_token = your_access_token

答案 5 :(得分:6)

这是Graph API Explorer的链接

  

https://developers.facebook.com/tools/explorer/?method=GET&path=me点击链接并点击获取访问权限,您可以弹出选择权限   并选择您的访问令牌。   并在节点部分选择您想要的字段(例如选择朋友和朋友中的子链接选择生日)和点击提交 获取然后您可以拥有朋友的生日和身份以及你的身份作为Json数据。

答案 6 :(得分:0)

使用Graph api获取完整的朋友列表,迭代json数据数组然后检查birthday = today ..这是

答案 7 :(得分:0)

你可以通过这种方式获得ios中的朋友列表:

- (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]);
    }}];
}

感谢。

答案 8 :(得分:0)

试试这个,它只需要几行

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); 
    }
}];

答案 9 :(得分:0)

截至09/12/2017,

public function toMail($notifiable) { return (new MailMessage) ->greeting('Hello '. $notifiable->username) ->line('The introduction to the notification.') ->action('Notification Action', 'https://laravel.com') ->line('Thank you for using our application!'); } 无效。

当我尝试命中端点时,下面是来自graph explorer工具的调试消息。

FB.api('me/friends?fields=id,name,birthday')

仅返回用户的好友列表,您可以尝试使用有效的访问令牌点击以下端点

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

但请注意,您需要来自用户的 read_custom_friendlists 权限。