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

标签 ios objective-c swift facebook-graph-api

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

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

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

我在网上搜索并尝试了 @"/me/taggable_friends"。在开发者网站上,我们只能访问这个 taggable_friends 的三个字段:id,name,picture

我发现 facebook 已弃用好友详细信息权限。请引用https://developers.facebook.com/docs/apps/upgrading

-(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 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

你只能获取 friend

1. id,name,picture only.

关于iOS - 弃用权限 - 使用 Graph API 的 facebook 好友生日,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24859046/

相关文章:

android - Cordova InAppBrowser 隐藏直到完成加载

ios - 使用方法调配立即更改所有 UIViewController 实例上 iOS13 上的 modalPresentationStyle

ios - Xcode Storyboard - 无法拖动以进行约束,在尺寸类别之间切换时项目会消失

ios - 如何计算 Swift 数组中某个元素的出现次数?

ios - 使用正则表达式来匹配表情符号以及字符串中的文本

ios - 如何快速将标签或按钮固定到图像上?

ios - 使用 RZLTS 推送通知服务点击收件箱图标时出现崩溃

ios - Kiwi 规范中的辅助函数

ios - 拍照时应用程序崩溃且没有错误

objective-c - 为存储的信息提供唯一标识符