【发布时间】:2016-12-16 17:36:07
【问题描述】:
我正在尝试构建一个脚本,在提交按钮时将数据发布到 Facebook 页面。
我创建了一个不会过期的页面访问令牌,但我不知道如何构建 URL。 graph api explorer 中的几个测试不断给我:
{
"error": {
"message": "(#200) The user hasn't authorized the application to perform this action",
"type": "OAuthException",
"code": 200,
"fbtrace_id": "BYNmxVAlESA"
}
}
我尝试了类似的方法:
1745650152362669/feed?message=message&access_token=myaccesstoken
和
1745650152362669/feed?fields=message=message&access_token=myaccesstoken
当然都是POST。
虽然我确实为我的应用授予了权限。
就像你在这里看到的:
这个令牌一小时后过期,所以我按'在访问令牌池中打开'
然后点击扩展访问令牌:
我再次将该标记粘贴到图形 API 资源管理器中,但现在不再选择该页面:
应该是这样的吗?
我有以下代码应该在提交时执行帖子:
<form>
<input type="submit" name="submit">
</form>
<?
if(isset($_POST['submit'])){
$token = 'mypageaccestoken';
$attachment = array(
'access_token' => $token,
'message' => $contentcr[0]['introtext'],
'name' => $contentcr[0]['title'],
'link' => $contentcr[0]['alias'].'html',
'actions' => json_encode(array('name' => $action_name,'link' => $action_link))
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,'https://graph.facebook.com/1745650152362669/feed');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $attachment);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close ($ch);
}
上面的代码目前没有在我的页面上发布任何内容,有人可以解释我缺少什么吗?
【问题讨论】:
-
@CBroe 谢谢你的作品!
标签: php facebook facebook-graph-api curl