【发布时间】:2014-06-30 05:02:23
【问题描述】:
我正在开发一个社交网络应用程序。我在我的 iOS 应用程序中集成了 Facebook SDK 3.14。现在,我想获取我所有 Facebook 好友的列表,这样我就可以邀请那些没有使用该应用程序的朋友并向那些已经安装了该应用程序的朋友发送好友请求。
我可以使用"/me/friends"获取已经使用我的应用的朋友列表。
[FBRequestConnection startWithGraphPath:@"/me/friends"
parameters:nil
HTTPMethod:@"GET"
completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
NSLog(@"All == %@", result);
}];
它会提供朋友的 Facebook id(例如 id = 654330727444458)作为响应,以便我可以向他们发送朋友请求。
要获取所有未下载该应用的 Facebook 好友列表,如果我想邀请这些好友,我需要获取所有使用 "me/taggable_friends" 的好友(如果我错了请纠正我)。
[FBRequestConnection startWithGraphPath:@"/me/taggable_friends"
parameters:nil
HTTPMethod:@"GET"
completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
NSlog("%@", result);
}];
在taggable_friends 回复中,我得到朋友的 ID 为 id = "AaLYBzZzHdzCmlytqyMAjO0OLDZIOs74Urn93ikeRmmTB3vX_Xl81OYUt4XnoWG0BDLuX67umVkheVdDjzyvm0fcqMqu84GgM9JnNHc-1B63eg",这是朋友的令牌 ID,它不是唯一的。我无法使用它,必须使用朋友的 Facebook ID 来邀请他们。不幸的是,我无法在可标记的朋友回复中找到它。
【问题讨论】:
-
是的 taggable_friends 是错误的,因为那是为了标记朋友。这就是为什么它被称为 taggable_friends。试试invitable_friends。但是你需要成为一个画布游戏并且有一个画布实现。否则我会建议共享对话框或发送/消息对话框
-
Facebook 没有更改他们的服务器,以便您只能查看正在使用您的应用程序的朋友,而不能查看未使用您的应用程序的朋友吗?
-
@Zhang 是的,他们在 APIv2 中做到了,APIv1 应该支持到 2015 年 好问题是 Kirit 是否想创建一个需要在不久的将来重写的应用程序(至少是它的 facebook 部分)。在 API v2 中有一个端点来获取用户可以邀请到应用程序的朋友列表:developers.facebook.com/docs/games/invitable-friends/v2.0,但它“适用于具有 Facebook Canvas 应用程序的游戏”
-
@Kirit Modi 你会尝试获取 facebook 好友安装的应用列表吗?
标签: ios facebook facebook-graph-api