Размещение изображения в альбоме фан-страницы с помощью Facebook API - PullRequest
1 голос
/ 28 марта 2012

Я создал приложение 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

1 Ответ

1 голос
/ 29 марта 2012

Я думаю, что это предполагаемое поведение. Разрешение manage_pages предоставляет доступ к страницам, которые администрирует пользователь. Если вам нужно, чтобы другие пользователи (не администраторы) загружали на вашу страницу, вам необходимо сохранить действительный токен доступа к странице в вашем приложении. Затем используйте сохраненный токен доступа для загрузки изображения, предоставленного пользователем.

...