从FQL迁移到Graph API,我发现V2.2 Graph API apprequests节点返回不一致的响应。
https://graph.facebook.com/v2.2/<id>/apprequests
有时返回带有"from"字段的 JSON,有时不返回。正确的 JSON 是:
"application": {
"name": "Myapp",
"namespace": "My NS",
"id": "123456"
},
"created_time": "2015-03-16T19:34:00+0000",
"data": "invite",
"from": {
"id": "111111",
"name": "Sender name"
},
"message": "Come and play!",
"to": {
"id": "99999",
"name": "Recipient"
},
"id": "123_456"
}
但是,JSON 中的"from"字段有时会丢失(即使在"fields"参数中专门请求它时也是如此)。
使用 FQL 时,我总是得到sender_uid字段(具有相同的应用令牌和相同的用户):
SELECT request_id, app_id, recipient_uid, sender_uid FROM apprequest
WHERE app_id = <appID> and recipient_uid=<FBID>
谁能解释这个谜团?
Facebook在调查这个错误后的回应:这是设计使然。图形 API 上存在某些隐私限制,这些限制不适用于已弃用的 FQL。
我们对此进行了调查,发现当用户阻止应用程序或完全删除Facebook的第三方集成时,就会发生这种情况。