2015-07-23 3 views
0

Я использую SDK для Facebook с Laravel 4. Нужно ли возвращать изображения пользователя, которого вы входите в систему через Facebook.Почему фотоальбом facebook возвращает пустой массив?

Когда я использую пользователя, который является администратором APP на Facebook, изображения и альбомы возвращаются обычно.

Однако, когда я пытаюсь сделать это с любым пользователем, кроме администратора, он возвращает пустой массив.

код я использую выглядит следующим образом:

$session = new FacebookSession(Session::get('facebook.token')); 

$request = new FacebookRequest(
    $session, 
    'GET', 
    '/me/albums', 
    ['fields' => 'name,photos.limit(20){source},id'] 
); 

$response = $request->execute()->getGraphObject(); 

$imagesOfAllAlbums = []; 

foreach ($response->asArray() as $albuns) { 

    foreach ($albuns as $k => $album) { 

     if (empty($album->photos)) continue; 

     foreach ($album->photos as $images) { 

      foreach ($images as $image) { 

       if (empty($image->source)) continue; 

       $imagesOfAllAlbums[$album->name][] = $image->source; 
      } 
     } 
    } 
} 

count($imagesOfAllAlbums); // 0 

Если первый пример, что возвращение так:

[ 
    'Nome do Album' => [ 
     'imagem_1.jpg', 
     'imagem_2.jpg', 
    ] 
] 

В другой части кода, я добавил разрешение на user_photos:

$urlFacebook = $helper->getLoginUrl([ 
       FacebookPermissions::USER_PHOTOS, 
      ], 'v2.4'); 
+0

Я могу читать «код», но не испанский. Итальянский, да, но не испанский. Scusi. Я могу разобрать кусочки, но вам нужно будет ввести свой вопрос на английском языке. –

+0

Извините! Я хотел опубликовать на «SO» португальском –

+1

ах да ... это была моя следующая догадка. Португальский; моя ошибка ;-) –

ответ

2

user_photos Разрешение, необходимое для доступа к albu ms будет работать только для пользователей с ролью в приложении, если вы не отправили их для просмотра. Он называется «Login Review»: https://developers.facebook.com/docs/facebook-login/review

Смежные вопросы