为啥facebook相册返回一个空数组?

Posted

技术标签:

【中文标题】为啥facebook相册返回一个空数组?【英文标题】: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”葡萄牙语上发帖 啊是的...这是我的下一个猜测。葡萄牙语;我的错误;-) 我的问题已经解决了! 【参考方案1】:

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

【讨论】:

以上是关于为啥facebook相册返回一个空数组?的主要内容,如果未能解决你的问题,请参考以下文章

Facebook Graph API me / accounts返回空的Json数据数组

为啥 laravel 返回一个空数组来表示一个有很多关系?

为啥 laravel 返回一个空数组来表示一个有很多关系?

为啥我的数组在附加值后返回 null 或显示一个空数组

Facebook 应用程序标签页面照片

为啥阿波罗角查询返回空数组?