我试图通过我的脚本将Facebook页面状态发布为页面(而不是用户)。这会给我一个错误100。
这里我使用权限生成来自Graph Explorer的临时user_access_token:manage_pages,publish_pages
<?php
$url='https://graph.facebook.com/v2.3/{$user_id}/accounts?access_token=USER_ACCESS_TOKEN';
$ch=curl_init();
CURL_SETOPT($ch,CURLOPT_URL,$url);
CURL_SETOPT($ch,CURLOPT_RETURNTRANSFER, 1);
$json=json_decode(curl_exec($ch));
$page_access_token=$json->data['0']->access_token;
curl_close($ch);
$page_id='xxx';
$message='helloworld';
$url="https://graph.facebook.com/v2.3/{$page_id}?access_token=$page_access_token";
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $message);
curl_setopt($curl, CURLOPT_TIMEOUT, 10);
$result = json_decode(curl_exec($curl));
var_dump($result);
?>
如果一切顺利的话,一个字符串&#34; helloworld&#34;应该在Facebook页面上发布。但在这里它返回时出现错误:
object(stdClass)#5 (1) {
["error"]=>
object(stdClass)#6 (3) {
["message"]=>
string(61) "(#100) Parameters do not match any fields that can be updated"
["type"]=>
string(14) "OAuthException"
["code"]=>
int(100)
}
}
这里有什么错误?谢谢。
答案 0 :(得分:8)
您正试图发布到/<PAGE_ID>
在页面上创建帖子的正确终点是/<PAGE_ID>/feed
,在此处记录:https://developers.facebook.com/docs/graph-api/reference/v2.3/page/feed
创建帖子的基本调用的有效格式为https://graph.facebook.com/v2.3/<PAGE_ID>/feed?message=helloworld&access_token=<ACCESS_TOKEN>