2016-11-29 77 views
0

我想設置一個腳本來自動發佈消息到Facebook頁面我是管理員。我有下面的代碼,但目前,我們並沒有將頁面牆貼到頁面管理員那裏,而是從我的個人帳戶轉到頁面的「訪問者帖子」部分。關於如何解決這個問題的任何想法?Facebook張貼到頁面使用PHP API的頁面?

require_once('Facebook/autoload.php'); 

$fb = new Facebook\Facebook([ 
    'app_id' => 'myappid', 
    'app_secret' => 'myappsecret', 
    'default_graph_version' => 'v2.5', 
]); 

$pageID = 'mypageid'; 
$accessToken = 'myaccesstoken'; 

try { 
    $publish = $fb->post('/' . $pageID . '/feed', 
    array(
     'access_token' => $accessToken, 
     'message' => $status, 
     'to' => $pageID 
     ) 
    ); 
} catch(Facebook\Exceptions\FacebookResponseException $e) { 
    // When Graph returns an error 
    echo 'Graph returned an error: ' . $e->getMessage(); 
    exit; 
} catch(Facebook\Exceptions\FacebookSDKException $e) { 
    // When validation fails or other local issues 
    echo 'Facebook SDK returned an error: ' . $e->getMessage(); 
    exit; 
} 
+0

爲什麼downvote? – user13286

回答

2

您需要使用該頁面的訪問令牌,而不是您的個人訪問令牌。

使用您的個人訪問令牌,請致電/me/accounts。它會給你一個你是管理員的頁面列表,併爲每個頁面設置訪問權限。

+0

謝謝你的幫助!我用'/ me/accounts'換出了訪問令牌和API瀏覽器中與頁面相關聯的訪問令牌,但是現在出現錯誤:'Graph返回了錯誤:API參數中提供了無效的appsecret_proof' I檢查了應用程序的高級設置,並且我禁用了「要求應用程序祕密」。那裏有任何想法? – user13286

+0

@ user13286您可能正在使用SDK的古老版本。 'Facebook \ Facebook'是舊的語法。 – ceejayoz

+0

我最終生成了一個臨時訪問令牌(約1小時到期),然後我使用調試器工具來延長到期時間,現在它正常工作。再次感謝你的幫助! – user13286