使用curl从网站发布到Facebook页面

时间:2016-08-10 11:04:18

标签: php facebook facebook-graph-api curl

我正在尝试构建一个脚本,在提交按钮时将数据发布到Facebook页面。

我创建了一个非过期的页面访问令牌,但我仍然坚持如何构建url。图api资源管理器中的几个测试一直给我:

 {
      "error": {
        "message": "(#200) The user hasn't authorized the application to perform this action",
        "type": "OAuthException",
        "code": 200,
        "fbtrace_id": "BYNmxVAlESA"
      }
    }

我尝试过类似的事情:

1745650152362669 /进料=消息消息和; =的access_token myaccesstoken

1745650152362669 /饲料字段=消息=消息和; =的access_token myaccesstoken

作为POST当然。

虽然我确实授予了我的应用权限。

就像你在这里看到的那样:

enter image description here

此令牌在一小时后到期,因此我按下“在访问令牌池中打开”

enter image description here

然后点击扩展访问令牌:

enter image description here

我再次在图表api资源管理器中粘贴该令牌,但现在不再选择该页面了: enter image description here

这是应该的样子吗?

我有以下代码应该在提交时执行帖子:

<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);
}

上面的代码目前没有向我的页面发布任何内容,有人可以解释我缺少的内容吗?

1 个答案:

答案 0 :(得分:1)

  

用户尚未授权应用程序执行此操作

该错误意味着您缺少相应的权限。您需要publish_pages发布(作为网页),而不仅仅是manage_pages