【问题标题】:why facebook photo album returns an empty array?为什么facebook相册返回一个空数组?
【发布时间】:2015-07-23 20:18:48
【问题描述】:

我在 Laravel 4 中使用 Facebook SDK。我是否需要返回您通过 Facebook 登录的用户的图像。

当我使用Facebook上的APP管理员用户时,图片和相册正常返回。

但是,当我尝试对管理员以外的任何用户执行此操作时,它会返回一个空数组。

我使用的代码如下:

$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');

【问题讨论】:

  • 我能读懂“代码”但不能读西班牙语。意大利语,是的,但不是西班牙语。斯库西。我可以辨认出来,但你需要用英文输入你的问题。
  • 对不起!我想在“SO”葡萄牙语上发帖
  • 啊是的...这是我的下一个猜测。葡萄牙语;我的错误;-)
  • 我的问题已经解决了!

标签: php facebook-graph-api laravel facebook-sdk-4.0


【解决方案1】:

访问相册所需的user_photos 权限仅适用于在应用程序中具有角色的用户,前提是您未将其发送以供审核。它被称为“登录评论”:https://developers.facebook.com/docs/facebook-login/review

【讨论】:

    猜你喜欢
    • 2012-08-26
    • 1970-01-01
    • 2021-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-25
    • 2022-01-09
    相关资源
    最近更新 更多