【问题标题】:Unable to retrieve Facebook photos from album 123xxxxxx无法从相册 123xxxxxx 中检索 Facebook 照片
【发布时间】:2015-08-12 09:10:26
【问题描述】:

场景:-

我需要从 Facebook 相册中获取照片。为此,我使用 Galleria。

代码片段:-

$(document).ready(function (e) {
    alert('jQuery loaded');
    loadGallery();

    function loadGallery() {
        debugger;
        Galleria.loadTheme('js/galleria/themes/classic/galleria.classic.min.js');
        Galleria.run('#galleria', {
            facebook: 'album:123xxxxx',
            width: 745,
            height: 550,
            lightbox: true
        });
    }
});
<!DOCTYPE HTML/>
<html>
  <head>
    <title> Test </title>
     <script src="jQuery"> </script>
    <script src="galleria-1.4.2.min.js"></script>
    <script src="js/galleria.facebook.js"></script>
    
   </head>
  <div id="galleria"></div>
 </html>

请注意,我的配置中没有提到APP_ID或APP_SecretKey,据我所知,在使用Galleria时,我们只需要传递albumID。

但出现以下错误:-

【问题讨论】:

标签: jquery facebook-graph-api galleria


【解决方案1】:

您很可能试图从受位置或年龄限制的用户个人资料或页面中获取相册。

如果它来自用户配置文件,您需要使用 user_photos 权限授权用户。如果它是受限制的页面,您可以使用页面令牌。有关令牌以及如何生成令牌的更多信息,请参阅这些链接:

短版:这些插件通常只允许您从(不受限制的)Facebook 页面获取公共相册。对于其他一切,您需要创建一个应用程序并授权用户。

顺便说一句,这些插件甚至可能无法与公共相册一起使用,因为 Graph API v2.x 即使对于那些 API 调用也需要访问令牌。这实际上在文档中提到:https://github.com/aiaio/galleria-facebook

【讨论】:

  • “那些插件通常只允许您获取公开相册” – 但即使相册是公开的,如果不是,旧插件可能仍然无法工作完全使用任何访问令牌——因为即使相册/照片是公开的,API v2 也需要访问令牌。因此,如果不强制用户通过网站上的 FB 登录(以便可以使用他们的用户访问令牌),则需要将获取数据的部分移动到服务器端(其中应用访问令牌或页面访问令牌可以使用。)
  • 哦,我忘了。你是对的,当然。我会将信息添加到我的答案中,谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-01
相关资源
最近更新 更多