2016-11-29 48 views
0

私は管理者の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エクスプローラのページに関連付けられているアクセストークンをスワップアウトしましたが、今はエラーが表示されます:'グラフがエラーを返しました:API引数に無効なappsecret_proofがあります。アプリの高度な設定を確認し、「アプリの秘密を要求する」が無効になっている。そこに任意のアイデア? – user13286

+0

@ user13286古いバージョンのSDKを使用している可能性があります。 'Facebook \ Facebook'は古い構文です。 – ceejayoz

+0

私は一時的なアクセストークン(〜1時間の有効期限)を生成し、その後、有効期限を延長するためにデバッガツールを使用し、今は正しく動作しています。あなたの助けをもう一度ありがとう! – user13286

関連する問題