获取我管理的群组中的所有相册

时间:2011-08-10 04:38:10

标签: php facebook facebook-php-sdk

我管理了一所武术学校的网站,schook还有一个facebook组,朋友和学生可以在这里发布他们的新闻和照片。

我想获取该组的专辑,并在学校的网站上显示他们的照片。

所以我尝试了这个简短的脚本:

<?php
require_once(__DIR__.'/lib/facebook.php');
$facebook = new Facebook(array(
  'appId'  => 'API_KEY',
  'secret' => 'API_SECRET',
));

$group = $facebook->api('GROUP_ID');
echo $group
?>

在应用程序日志中出现此错误

  

Wed Aug 10 01:16:30 2011] [错误] [client 127.0.0.1] PHP致命错误:   未捕获的CurlException:6:名称查找超时\ n抛出   第814行的./lib/base_facebook.php

所以我想知道这是不是这样做的,或者我是否应该尝试从其他地方获取专辑......

我发现developers.facebook.com中的文档很少或令人困惑。

3 个答案:

答案 0 :(得分:2)

这就是我获取相册的方式,我认为小组相册必须类似。

  1. 创建Facebook应用程序。如果您还没有可用于此项目的项目,请在http://developers.facebook.com/setup/上创建它。您将拥有App Name,App URL,App ID和App Secret获取访问代码,请转到:

    https://www.facebook.com/dialog/oauth?client_id=Your_App_ID&redirect_uri=Your_App_URL&scope=read_stream,publish_stream,offline_access

    您必须允许该应用访问您的帐户。 (允许访问图片) 单击“允许”后,您的浏览器将重定向到具有其他URL属性的Your_App_URL,它将类似于:

    Your_App_URL?代码= long_facebook_code

  2. 获取离线访问令牌,转到

    https://graph.facebook.com/oauth/access_token?client_id=Your_App_ID&redirect_uri=Your_App_URL&client_secret=Your_App_Secret&code=long_facebook_code

    页面将显示类似

    的内容
      

    =的access_token的 123456789 | 99bdea74e40ecc75530b7c45-132456798 | dTntC8lVyR84eBxK1TS9ws2s_s0

    注意:确保令牌末尾没有“expire =”字样(粗体文字) 复制您的离线令牌(仅限粗体文本)并使用它,永久令牌,如果您更改应用程序名称,则永远不会更改事件。

  3. 然后我在PHP中使用脚本(PHP SDK 3.0。):

  4.   require 'src/facebook.php';
      $appId = 'Your_App_ID';
      $secret = 'Your_App_Secret';
      $access_token = 'Your_access_token';
      $facebook = new Facebook(array('appId' => $appId, 'secret' => $secret, ));
      $facebook->setAccessToken($access_token);
    

    查看可用相册:

    // bring the id, name and number of pictures.
    $albums = $facebook->api('/me/albums?fields=name,count'); 
    print_r ($albums);
    

    阅读相册:

    $album_ID = "123456..."; //album ID
    $list_pictures = $facebook->api('/'.$album_ID.'/photos', array('access_token' => $access_token));
    print_r ($list_pictures);
    

答案 1 :(得分:2)

您无法通过图谱API将/照片和/相册用于群组。 首先总是返回空数据,第二个 - 错误“(#3)应用程序必须在白名单上”

答案 2 :(得分:1)

我创建了一个python项目来为朋友解决这个问题。您不能在不是受信任的Facebook应用程序的情况下访问相册,但您可以访问包含我想要抓取的大部分图像的供稿。

这将下载并存档所有内容(这是他们想要的),但我认为它也可能对您有所帮助。

https://github.com/danfunk/ethans_fight