2012-03-28 17 views
1

Facebook Appを作成しました。私は、ユーザーが、そのアプリケーションを通して私のFacebookのページのアルバムに画像を投稿できるようにする必要があり、そのためにページのアクセストークンを取得する必要があります。私はページの管理者としてログインしているときにしかアクセストークンを得ることができませんが、他のアカウントでログインするとページのアクセストークンを取得できません。コードは、私は、これは意図した動作だと思うFacebook APIを使用してファンページアルバムに画像を投稿する

manage_notifications,user_photos,photo_upload,publish_stream,friends_photos,manage_pages 

答えて

1

をインストールするアプリケーションに次の権限を求め

$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_pages権限は、ユーザが管理しているページにアクセスする権限を与えます。他の(管理者以外の)ユーザーがページにアップロードする必要がある場合は、ページに有効なアクセストークンをアプリに保存する必要があります。次に、保存されたアクセストークンを使用して、ユーザーが提供するイメージをアップロードします。

+0

しかし、問題は、しばらくするとトークンの有効期限が切れることです。アクセストークンが期限切れにならないようにする方法はありますか?または期限切れにならないアクセストークンを取得する方法はありますか?私が知っている限り、オフラインアクセスも廃止されました。 – Waqar

関連する問題