Facebook アプリを作成しました。そのアプリを介してFacebookページのアルバムに画像を投稿できるようにする必要があります。そのためには、ページのアクセストークンを取得する必要があります。ページの管理者としてログインしている場合にのみアクセストークンを取得できますが、他のアカウントでログインすると、ページのアクセストークンを取得できません (ページが気に入ってアプリをインストールしたにもかかわらず)。コードは以下です
$fanpage = 'XXXXXXXXXXXXX';
$pages_arr = array(
'access_token'=>$access_token,
'fields'=>'access_token'
);
$page_token = $facebook->api('/'.$fanpage, 'get', $pages_arr);
$fanpage_token = $page_token['access_token'];
**//When logged in as admin of the page I get the token but I don't get the token if I am not //page admin**
echo $fanpage_token;
$file = "@".realpath("test.jpg");
$args = array(
'message' => 'test',
'image' => $file,
'aid' => $album_id,
'no_story' => 1,
'access_token' => $fanpage_token // note, we use the page token here
);
$photo = $facebook->api("/$album_id/photos", 'post', $args);
if( is_array( $photo ) && ! empty( $photo['id'] ) )
echo 'Photo uploaded. Check it on Graph API Explorer. ID: ' . $photo['id'];
アプリのインストール時に次の権限を求めています
manage_notifications,user_photos,photo_upload,publish_stream,friends_photos,manage_pages