繁体   English   中英

使用Graph API的iOS弃用的权限-facebook朋友生日

[英]iOS -deprecated permission-facebook friends birthday using Graph API

我是iOS的新手。 我正在尝试从Facebook帐户获取所有朋友的生日 我关注了Developers.facebook

我已经请求了所有必要的权限: user_friendsfriends_birthdayread_stream 我还在Graph Api Explorer中设置了权限。

首先,我使用了图形路径: @"/me/friends?fields=name,id,birthday" 它仅返回使用该应用程序的朋友的姓名和ID

我在网上搜索并尝试了@"/me/taggable_friends" 在开发人员站点中,我们只能为此taggable_friends访问三个字段: id,name,picture

我发现Facebook已弃用好友详细信息权限 请参阅https://developers.facebook.com/docs/apps/upgradeing

-(void)pickFriendsClick {

 NSArray *permissions = [[NSArray alloc] initWithObjects: @"user_birthday",@"friends_hometown",@"friends_birthday",@"friends_location",nil]; if (![[FBSession activeSession]isOpen]) { if (APP.fb) { APP.fb =[[FBSession alloc]initWithPermissions:permissions]; } } FBRequest *friendRequest = [FBRequest requestForGraphPath:@"/me/taggable_friends"]; [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]); }}]; } 

从v2.0中删除的权限的完整列表。 您的应用不应向Facebook Ver 2.0要求以下任何内容:

create_event
manage_friendlists
read_requests
user_checkins
user_notes
user_online_presence
user_questions
user_subscriptions
xmpp_login
friends_about_me
friends_actions.books
friends_actions.fitness
friends_actions.music
friends_actions.news
friends_actions.video
friends_actions:APP_NAMESPACE
friends_activities
friends_birthday
friends_checkins
friends_education_history
friends_events
friends_games_activity
friends_groups
friends_hometown
friends_interests
friends_likes
friends_location
friends_notes
friends_online_presence
friends_photos
friends_questions
friends_relationships
friends_relationship_details
friends_religion_politics
friends_status
friends_subscriptions
friends_videos
friends_website
friends_work_history

参考: https : //developers.facebook.com/docs/apps/upgrading#upgrading_v2_0_user_ids

你只能取朋友

1. id,name,picture only.

我已经在新的Facebook SDK中通过此代码获取了朋友。 这可能会有所帮助。

NSArray *permissions =     [NSArray arrayWithObjects:@"email", @"user_birthday",@"friends_hometown",@"friends_birthday",@"friends_location",@"publish_stream",@"user_friends",@"public_profile",nil];

[self appDelegate].session = [[FBSession alloc] initWithPermissions:permissions];

[[self appDelegate].session openWithCompletionHandler:^(FBSession *session,
                                                        FBSessionState status,
                                                        NSError *error) {

    if(!error)
    {
        NSLog(@"success");
        [self fetchFriends];
    }
    else
    {
        NSLog(@"failure");
    }



}];

然后方法获取朋友是

-(void)fetchFriends
{
    if ([self appDelegate].session.isOpen)
    {
        [FBSession setActiveSession:[self appDelegate].session];
        FBRequest *friendRequest = [FBRequest requestForGraphPath:@"/me/friends?fields=name,picture,birthday,location"];
        [ friendRequest startWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
            NSArray *data = [result objectForKey:@"data"];

            NSLog(@"response : %@",data);

            for (FBGraphObject<FBGraphUser> *friend in data)
            {
                NSLog(@"name : %@ , bday : %@", [friend name],[friend birthday]);

                [tempArray addObject:friend];
            }
        }];
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM