Получить все альбомы из группы, которой я управляю - PullRequest
2 голосов
/ 10 августа 2011

Я управляю сайтом школы боевых искусств, у шхука также есть группа в 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
?>

, который вызывает эту ошибку в журнале приложения

Ср 10 августа 01: 16: 30 2011] [ошибка] [клиент 127.0.0.1] Неустранимая ошибка PHP: Uncaught CurlException: 6: истекло время поиска имени \ n добавлено ./lib/base_facebook.php в строке 814

Так что мне интересно, так ли это можно сделать, или мне следует попытаться достать альбомы откуда-то еще ...

Я нахожу документацию на developers.facebook.com скудной или сбивающей с толку.

Ответы [ 3 ]

2 голосов
/ 21 января 2012

Вы не можете использовать / фото и / альбомы для группы по Graph API.Первый всегда возвращает пустые данные, второй - ошибка "(# 3) Приложение должно быть в белом списке"

2 голосов
/ 15 октября 2011

Так я получаю свои альбомы, я думаю, что групповой альбом должен быть похожим.

  1. создать приложение Facebook.Если у вас еще нет одного приложения, пригодного для этого проекта, создайте его на http://developers.facebook.com/setup/.. У вас будут имя приложения, URL-адрес приложения, идентификатор приложения и секрет приложения, чтобы получить код доступа, перейдите по адресу:

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

    Вы должны разрешить приложению получить доступ к вашей учетной записи.(разрешить доступ к изображениям). После нажатия кнопки «Разрешить» ваш браузер будет перенаправлен на Your_App_URL с дополнительным атрибутом URL, он будет выглядеть примерно так:

    Your_App_URL? code = 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.):

  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 голос
/ 31 октября 2013

Я создал проект Python, чтобы решить эту проблему для друга. Вы не можете получить доступ к альбомам, не будучи доверенным приложением Facebook, но вы можете получить доступ к каналу, который содержит большую часть изображений, которые я хотел получить.

Это загрузит и заархивирует все (что они и хотели), но я подумал, что это может помочь и вам.

https://github.com/danfunk/ethans_fight

...