php - 使用 php 获取用户 Facebook 好友会引发异常
问题描述
我正在尝试使用 php 获取用户朋友的列表,但它不断抛出异常代码与 Facebook 的开发人员文档 https://developers.facebook.com/docs/graph-api/reference/v3 相同。 0/用户/朋友
这是我的代码
$fb = new \Facebook\Facebook([
'app_id' => APP_ID,
'app_secret' => APP_SECRET,
'default_graph_version' => DEFAULT_GRAPH_VERSION,
//'access_token' => '{'.$fbToken.'}', // optional
]);
try {
$response = $fb->get('/friends', $fbToken);
} catch(FacebookExceptionsFacebookResponseException $e) {
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch(FacebookExceptionsFacebookSDKException $e) {
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}
$graphNode = $response->getGraphNode();
这是错误的堆栈跟踪
[03-Jul-2018 07:29:33 UTC] PHP Fatal error: Uncaught exception 'Facebook\Exceptions\FacebookSDKException' with message 'Unable to convert response from Graph to a GraphNode because the response looks like a GraphEdge. Try using GraphNodeFactory::makeGraphEdge() instead.' in /facebook/Facebook/GraphNodes/GraphNodeFactory.php:224
Stack trace:
#0 /facebook/Facebook/GraphNodes/GraphNodeFactory.php(93): Facebook\GraphNodes\GraphNodeFactory->validateResponseCastableAsGraphNode()
#1 /facebook/Facebook/FacebookResponse.php(289): Facebook\GraphNodes\GraphNodeFactory->makeGraphNode(NULL)
#2 {main}
thrown in /facebook/Facebook/GraphNodes/GraphNodeFactory.php on line 224
解决方案
试试这个:
$graphNode = $response->getGraphEdge();
很旧,所以我没有将其标记为重复:FB Graph API query doesn't work in PHP SDK
推荐阅读
- python - 如何从 tf.data.Dataset.zip((images, labels)) 获取两个 tf.dataset
- time-complexity - Big O vs 函数类型定义
- php - woocommerce分类法ajax过滤器,获得正确的分页
- java - 在onActivityResult中分别上传两张图片
- python - Python3:变量赋值,名称中的下划线在 Pycharm 中产生奇怪的行为
- tensorflow - tensorflow tf.maximum(0, x) 返回错误
- http - NiFi:GetHTTP处理器正则表达式无效错误
- node.js - 如何处理表单动作的响应?
- flutter - 相同的代码,两种不同的结果 | 在颤动中导航到另一条路线
- sql - 使用两个 AS 变量调用 table 并在 table 只有一行数据时比较它们