2013-01-20 94 views
0

可能重複:
Facebook Graph Api - Posting to Fan Page as an Admin如何使用應用發佈到我自己的Facebook頁面?

我已經寫了下面的代碼:

$pageId = 'xxx'; 
$appId = 'xxx'; 
$secret = 'xxx'; 
$facebook = new Facebook(array(
    'appId' => $appId, 
    'secret' => $secret, 
    'cookie' => false 
)); 

$access_token = $facebook->getAccessToken(); 

$facebook->api("/{$pageId}/feed", "post", array(
    'message' => "First message", 
    'name' => "Name for first", 
    'access_token' => $access_token 
)); 

但收到以下異常: (#200)的用戶不是招」 t授權應用程序執行此操作

回答

0

您是否檢查過用戶是否已登錄?很簡單,但我沒有在代碼中看到它。

如果null重定向到$ facebook-> getLoginUrl(array('req_perms'=>'user_status');那麼您可以首先檢查$ facebook-> getUser()是否爲null,並確保添加其他權限。需要

This question非常相似,通過一些問題的答案閱讀 - 應該有一個適合您

+0

我想張貼代表頁面的,而不是任何其他用戶 – Blacksonic

+0

嗯很抱歉。但基於錯誤,它似乎正在檢查授權用戶這樣做。 –

+0

當我獲得頁面的訪問令牌時,我收到相同的錯誤消息 – Blacksonic

0

您需要* publish_stream *許可,您的代碼 它可以是:

$my_url = "http://apps.facebook.com/siegiusarena"; 

// Get U ser ID $ user = $ facebook-> getUser();

如果($用戶){

$message=$application_name." game on facebook. Check it out: http://apps.facebook.com/siegiusarena"; 
$link = "http://apps.facebook.com/siegiusarena"; 
$attachment = array('message'=>$message, 'link'=>$link, 'picture'=>'http://www.developas.com/fb/siegiusarena/siegiusarena_256x256.jpg'); 
$facebook->api("me/feed", 'post', $attachment); 

}否則{ $代碼= $ _REQUEST [ 「代碼」];

if(empty($code)) { 
        $_SESSION['state'] = md5(uniqid(rand(), TRUE)); // CSRF protection 
        $dialog_url = "https://www.facebook.com/dialog/oauth?client_id=" 
    . $appid . "&redirect_uri=" . urlencode($my_url) . "&state=" 
    . $_SESSION['state'] . "&scope=email,publish_stream"; 

        echo("<script> top.location.href='" . $dialog_url . "'</script>"); 

}}

+0

請在已提供幫助的情況下使用VOTEUP。 – FacebookLover2013

+0

爲什麼我需要驗證自己或授予權限,如果我是應用程序和頁面的管理員? – Blacksonic

+0

不可以管理。但是,當應用程序運行時,需要獲得任何人加入的權限。應用程序需要按照相應的步驟執行操作。並要求發佈「publish_stream」是必需的。 – FacebookLover2013

相關問題