我管理了一所武术学校的网站,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中的文档很少或令人困惑。
答案 0 :(得分:2)
这就是我获取相册的方式,我认为小组相册必须类似。
创建Facebook应用程序。如果您还没有可用于此项目的项目,请在http://developers.facebook.com/setup/上创建它。您将拥有App Name,App URL,App ID和App Secret获取访问代码,请转到:
您必须允许该应用访问您的帐户。 (允许访问图片) 单击“允许”后,您的浏览器将重定向到具有其他URL属性的Your_App_URL,它将类似于:
Your_App_URL?代码= long_facebook_code
获取离线访问令牌,转到
页面将显示类似
的内容=的access_token的 123456789 | 99bdea74e40ecc75530b7c45-132456798 | dTntC8lVyR84eBxK1TS9ws2s_s0 强>
注意:确保令牌末尾没有“expire =”字样(粗体文字) 复制您的离线令牌(仅限粗体文本)并使用它,永久令牌,如果您更改应用程序名称,则永远不会更改事件。
然后我在PHP中使用脚本(PHP SDK 3.0。):
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应用程序的情况下访问相册,但您可以访问包含我想要抓取的大部分图像的供稿。
这将下载并存档所有内容(这是他们想要的),但我认为它也可能对您有所帮助。