我正在开发一个社交网络应用程序.我在我的iOS应用程序中集成了SDK 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 ids(ex.id = 654330727444458)作为回应,以便我可以发送朋友的请求给他们.
要获得没有下载应用程序的所有Facebook朋友的列表,如果我想邀请他们,我需要让所有的朋友使用“我/ taggable_friends”(请纠正我,如果我错了).
[FBRequestConnection startWithGraPHPath:@"/me/taggable_friends" parameters:nil HTTPMethod:@"GET" completionHandler:^(FBRequestConnection *connection,NSError *error) { NSlog("%@",result); }];
在taggable_friends响应中,我将朋友的id作为id =“AaLYBzZzHdzCmlytqyMAjO0OLDZIOs74Urn93ikeRmmTB3vX_Xl81OYUt4XnoWG0BDLuX67umVkheVdDjzyvm0fcqMqu84GgM9JnNHc-1B63eg”,这是朋友的令牌ID,它不是唯一的.我不能使用它,而是使用Facebook的朋友的Id来邀请他们.不幸的是,我无法得到它在标签的朋友的回应.
解决方法
这只能在Facebook API v1上停止,这个API v1将在4月左右停止工作.即使现在只有现有的Facebook应用程序将允许您使用V1,如果您没有足够的应用程序,您无法做到这一点.在V2中,您只能获得还登录到同一应用程序的朋友,但用户标识对应用程序是唯一的,以防止这一点.我猜Facebook的原因是通过这样做可以阻止人们通过应用程序垃圾邮件给他们:
如@joelrb所说,您可以为游戏创建一个画布应用程序,并使用invitable_friends,但是FB会检查您的“游戏”,以便您无法真正作弊.
有关更多信息,请参阅https://developers.facebook.com/docs/apps/changelog/.
TLDR;张贴到墙上是你可以做的.强硬.抱歉.