【发布时间】:2019-07-15 10:03:29
【问题描述】:
我的 FB 应用程序拥有这些权限。
`email`
`default`
`publish_pages`
`manage_pages`
我能够通过图形 API 在我的业务页面上获取评论。我一直在寻找如何使用 API 回复评论。假设人 A 审查了我的业务页面并留下了评论。所以我想通过API回复Person As review。 我尝试了以下方法,但没有一个有效。
CURL 方法:
$chu = curl_init();
curl_setopt($chu, CURLOPT_URL, "https://graph.facebook.com/v3.2/{fb_user_id}_{fb_comment_id}/comments?message=Thanks!!&access_token={access_token}");
curl_setopt($chu, CURLOPT_RETURNTRANSFER, true);
curl_setopt($chu, CURLOPT_POST, 1);
curl_setopt($chu, CURLOPT_TIMEOUT, 50);
$resultu = curl_exec($chu);
curl_close($chu);
$resultu = json_decode($resultu);
echo "<pre>";
print_r($resultu);
我也尝试过 Graph API 方法:
include $_SERVER['DOCUMENT_ROOT']."/manager/include/contact-header.php";
require_once CORE_PATH.'manager/all_apis/php-graph-sdk/src/Facebook/autoload.php';
$fb = new Facebook\Facebook([
'app_id' => FB_APP_ID,
'app_secret' => FB_APP_SECRET,
'default_graph_version' => FB_APP_API_VERSION,
]);
try {
$response = $fb->post(
'/{fb_user_id}_{fb_comment_id}/comments', // user_id is the ID of the user who made the page
array (
'message' => 'This is a test comment',
),
'{access_token}'
);
} catch(Facebook\Exceptions\FacebookResponseException $e) {
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}
$graphNode = $response->getGraphNode();
echo "<pre>";
print_r($graphNode);
以上都不起作用。我收到以下错误。
stdClass Object
(
[error] => stdClass Object
(
[message] => (#200) You do not have sufficient permissions to perform this action
[type] => OAuthException
[code] => 200
[fbtrace_id] => HvneY0sxX69
)
)
有人可以指导我吗?
【问题讨论】:
-
您必须拥有足够的权限,并且您的应用程序必须经过 Facebook 验证。
-
@KubiRoazon 我上面提到的所有权限都已经被FB批准了。
-
@KubiRoazhon 这是正确的
{fb_user_id}_{fb_comment_id}/comments?? -
但是当你看到消息时,显然是权限问题。我没有在您的查询中看到页面 ID。
-
@KubiRoazhon 我搞定了。我在请求用户许可时忘记在权限数组中添加
publish_pages。