使用facebook图形API将页面帖子作为页面或应用程序添加到页面或应用程序墙

时间:2010-05-21 14:26:37

标签: facebook facebook-graph-api

我不想在appliaction页面或使用facebook图形API的“普通”页面上创建新的墙贴。有没有办法“发布为页面”?使用旧的REST-API,它的工作原理如下:

$facebook->api_client->stream_publish($message, NULL, $links, $targetPageId, $asPageId);

所以,如果我为$targetPageId$asPageId传递了相同的ID,我就可以发布一个不是由我自己的Facebook帐号引起的“真正的”墙贴。

谢谢!

3 个答案:

答案 0 :(得分:1)

要发布为Page,首先需要添加manage_pages权限(并获取令牌)。 接下来使用这样的东西:

    $url = 'https://api.facebook.com/method/stream.publish?message=TEST&target_id=PAGEID&uid=PAGEID&access_token=YOUR_TOKEN';
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_REFERER, "");
    curl_setopt($ch, CURLOPT_HEADER, 0); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,0);
    curl_setopt($ch, CURLOPT_URL, $url);

    $result = curl_exec($ch);
    curl_close($ch);

答案 1 :(得分:1)

$result = $facebook->api("/me/accounts");
foreach($result["data"] as $page) {
    if($page["id"] == $page_id) {
        $page_access_token = $page["access_token"];
        break;
    }
}
$args = array(
    'access_token'  => $page_access_token,
    'message'       => "I'm posting as a Page!"
);
$post_id = $facebook->api("/$page_id/feed","post",$args);

答案 2 :(得分:0)

设置targetpageid=null的值并检查输出...