Jam*_*ter 50 facebook facebook-graph-api ios
Facebook API v2.0引入了invitable_friends优势.
从GET请求到此边缘的示例响应是:
{
"data": [
{
"id": "AVkgK9fLFxasdvXNbDV_gYogR6lXa9SKLnH...",
"name": "Anita Sujarit",
"picture": {
"data": {
"is_silhouette": false,
"url": "https://fbcdn-profile-a.akamaihd.net/hprofile-ak-prn2/t1.0-1/c0.0.50.50/p50x50/1470158_10201991701127909_302023572_t.jpg"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
仔细查看该ID,这不是一个普通的Facebook用户ID.相反,它是一个邀请令牌 ; 此标记作为参数的值传递给" 请求"对话框to.
在每个朋友对象上返回的邀请令牌作为名为id的字段的值,是可变长度的唯一(每用户和每个游戏)字符串.邀请令牌可能会过期,并可能在游戏会话之间发生变化.因此,不建议缓存这些结果,或尝试将它们分配给给定的人.
该friends边缘现在只返回朋友已经使用的应用程序
我的问题是,我现在无法交叉引用我邀请的朋友和已接受的朋友.
以前,我会在向他们发送邀请时存储一个朋友ID,并且稍后会针对玩游戏的朋友列表进行检查,但现在由于以下几个原因这是不可能的:
实际问题: 有没有人设计过一种方法来确定已经被邀请的用户,哪些已经接受了邀请?
据我了解您提供的参考资料:
您可以开始请求invite_token,我认为您已经能够做到。
作为答案,你会得到这个invitable_friend:
{
"id": "AVlzYTkXshfBqLe58zR9tY5dZ7L0wltTUkWKT0Z5V87zkwv-39...", // Invite Token
"name": "Guy Cross",
"picture": {
"data": {
"is_silhouette": false,
"url": "https://fbcdn-profile-a.akamaihd.net/hprofile-ak-prn1/t5.0-1/623782_622770420_2109148508_q.jpg"
}
}
}
Run Code Online (Sandbox Code Playgroud)
该页面前面提到了一般如何执行请求:
FB.ui({method: 'apprequests',
message: 'YOUR_MESSAGE_HERE',
to: 'USER_ID, USER_ID, INVITE_TOKEN' // It says invite token
}, function(response){
console.log(response);
});
Run Code Online (Sandbox Code Playgroud)
查看带有 的行to:您可以将邀请令牌放在那里。
现在响应如下所示:
{
request: 'REQUEST_OBJECT_ID'
to:[array of USER_IDs]
}
Run Code Online (Sandbox Code Playgroud)
在那里你得到了你的用户ID。
如果您更进一步,需要更多信息或想看看谁接受了,那么您有两种选择:
GET https://graph.facebook.com/me/apprequests?access_token=[USER ACCESS TOKEN]要检查谁邀请了他,您可以检查接收用户的request_object_id信息,以下响应将是:http://graph.facebook.com/{REQUEST_OBJECT_ID}?access_token=USER_ACCESS_TOKEN
{
"id": "REQUEST_OBJECT_ID",
"application": {
"name": "APP_DISPLAY_NAME",
"namespace": "APP_NAMESPACE",
"id": "APP_ID"
},
"to": {
"name": "RECIPIENT_FULL_NAME",
"id": "RECIPIENT_USER_ID"
},
"from": {
"name": "SENDER_FULL_NAME",
"id": "SENDER_USER_ID"
},
"message": "ATTACHED_MESSAGE",
"created_time": "2014-01-17T16:39:00+0000"
}
Run Code Online (Sandbox Code Playgroud)
如果您使用发件人的用户访问令牌,您会得到以下结果:
{
"id": "REQUEST_OBJECT_ID",
"application": {
"name": "APP_DISPLAY_NAME",
"namespace": "APP_NAMESPACE",
"id": "APP_ID"
},
"from": {
"name": "SENDER_FULL_NAME",
"id": "SENDER_USER_ID"
},
"message": "ATTACHED_MESSAGE",
"created_time": "2014-01-17T16:39:00+0000"
}
Run Code Online (Sandbox Code Playgroud)
为了防止这种情况,您可以指定接收用户的用户 ID,并获得与接收者相同的答案:https://graph.facebook.com/{REQUEST_OBJECT_ID}_{USER_ID}?access_token={APP_ACCESS_TOKEN}
| 归档时间: |
|
| 查看次数: |
2893 次 |
| 最近记录: |