メッセージ (ステータス更新、リンク、写真、ビデオ) を複数のページに投稿できるようにする単純な Facebook ページ タブ アプリを作成しています。
ページのタイムラインにさまざまなものを投稿しようとしている Facebook API (PHP SDK を使用) に問題があります。
ステータスの更新を投稿すると、ページの名前で正常に投稿されます。
$pages = $this->facebook->api('me/accounts', 'GET');
$pages = json_decode(json_encode($pages), FALSE);
foreach ($pages->data as $page) {
if (in_array($page->id, $_POST['pages'])) {
$data = array(
'access_token' => $page->access_token,
'message' => Arr::get('status', $_POST)
);
$queryString = http_build_query($data);
$this->facebook->api("$page->id/feed?".$queryString, 'POST');
}
}
パラメータを追加すると (つまり、リンクを投稿しようとすると)、私の管理者アカウントで投稿が行われます (つまり、Chris Hayes が「ページ X」へのリンクを投稿しました)。
$pages = $this->facebook->api('me/accounts', 'GET');
$pages = json_decode(json_encode($pages), FALSE);
foreach ($pages->data as $page) {
if (in_array($page->id, $_POST['pages'])) {
$data = array(
'access_token' => $page->access_token,
'link' => Arr::get('link', $_POST),
'message' => Arr::get('status', $_POST)
);
$queryString = http_build_query($data);
$this->facebook->api("$page->id/feed?".$queryString, 'POST');
}
}
ここで何が起こっているのかわかりません。文字通り変更されたのは、'link' パラメータを追加したことだけです。誰かが私を助けることができれば、私はそれを大いに感謝します!
編集私が取得した権限は次のとおりです。email、user_about_me、user_likes、user_birthday、manage_pages、publish_stream
よろしく、クリス