context.fields(all_mutual_friend) 返回不支持的获取请求
Posted
技术标签:
【中文标题】context.fields(all_mutual_friend) 返回不支持的获取请求【英文标题】:context.fields(all_mutual_friend) returns Unsupported get request 【发布时间】:2016-03-17 08:08:36 【问题描述】:我正在尝试获取我和其他(不是我的朋友)用户之间的所有共同朋友。
为此,我使用连接 graph.facebook.com(REST 客户端)的 php 服务器
我正在使用仪表板中的 AppSecret 我正在发送有效的 access_token(具有 user_friends 权限) 我正在发送有效的 appsecret_proof(使用文档中提到的方法创建):
$appsecret_proof = hash_hmac('sha256', $access_token, $secret);
如果我更改 appsecret_proof,我会收到“API 参数中提供的 appsecret_proof 无效”,所以我认为它是正确且有效的。
我总是检索相同的响应:
"error":
"message": "Unsupported get request. Please read the Graph API documentation at https://developers.facebook.com/docs/graph-api",
"type": "GraphMethodException",
"code": 100,
"fbtrace_id": "XXXXXXXXXXX"
这是我的代码:
$appsecret_proof = hash_hmac('sha256', $access_token, $secret);
$url = '/v2.5/'.$userID.'?fields=context.fields(all_mutual_friends)&appsecret_proof='.$appsecret_proof.'&access_token='.$access_token ;
$config = array('server'=> 'https://graph.facebook.com');
$this->CI->rest->initialize($config);
$result = $this->CI->rest->get($url);
如何找回我们共同的朋友?
【问题讨论】:
我收到了同样的错误信息,但它只发生在我在真正的 facebook 用户和 facebook 测试用户之间进行查询时。对于真正的 fb 用户与 fb_user,或测试用户与测试用户,它们都很好。您已经找到解决方案了吗? 【参考方案1】:根据documentation,它应该是mutual_friends
,而不是all_mutual_friends
。
示例代码为:
$request = new FacebookRequest(
$session,
'GET',
'/user-id',
array (
'fields' => 'context.fields(mutual_friends)',
)
);
$response = $request->execute();
$graphObject = $response->getGraphObject();
【讨论】:
我用它来获取观众和目标人共有的所有朋友。这包括不使用我的应用程序的朋友。 Documentation以上是关于context.fields(all_mutual_friend) 返回不支持的获取请求的主要内容,如果未能解决你的问题,请参考以下文章