Извлечение моих собственных данных через FaceBook API - PullRequest
8 голосов
/ 03 мая 2010

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

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

Я просмотрел многие из постов здесь, а также просмотрел документацию по API Facebook, включая Facebook Connect, но действительно бьюсь головой об стену. Все, что я прочитал, кажется излишним, поскольку включает настройку инфраструктуры, позволяющей моему приложению устанавливать подключения к любой учетной записи произвольного пользователя (который авторизует меня). Разве это не должно быть намного проще, учитывая, что мне нужен только один доступ к одной учетной записи?

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

Буду признателен за любые советы или ссылки, я просто чувствую, что, должно быть, упускаю что-то простое.

Спасибо!

Ответы [ 4 ]

7 голосов
/ 04 мая 2010

Просто разместите мои заметки об успешном совете, если другие найдут это сообщение;

По совету Даниэля и Уильяма, я получил правильные разрешения, используя параметры подключения. От Уильяма, эта ссылка объясняет, как работает соединение Facebook

https://developers.facebook.com/docs/authentication/

Этот раздел по настройке фактической аутентификации был наиболее полезным для меня. http://developers.facebook.com/docs/api

По сути, это выглядит следующим образом: Разместите ссылку на следующий URL. Пользователь должен будет нажать на нее физически (даже если этот пользователь - только вы, администратор сайта). https://graph.facebook.com/oauth/authorize?client_id=YOUR_CLIENT_ID&redirect_uri=http://www.example.com/HANDLER

Это перенаправит на логин Facebook, который вернется к http://www.example.com/HANDLER после аутентификации пользователя. Если вы хотите больше, чем просто читать и обновлять ленту новостей, вам нужно включить эту переменную в приведенную выше ссылку: scope = offline_access, user_photos. Переменная области действия включает в себя только список значений, разделенных запятыми, о которых Facebook явно сообщит аутентифицирующему пользователю во время процесса входа в систему, и они должны будут подтвердить это. Самым полезным для меня был флаг offline_access (user_photos позволяет вам получать и их фотографии), поэтому я могу извлекать контент без регулярного входа в систему (если я храню маркер доступа, полученный позже)

У вас должен быть скрипт, расположенный по адресу http://www.example.com/HANDLER, который будет принимать переменную из запроса (поэтому после аутентификации facebook перенаправит на http://www.example.com/HANDLER&code=YOUR_CODE). Ваш обработчик должен извлечь переменную кода, а затем отправить следующий запрос: https://graph.facebook.com/oauth/access_token?
client_id = YOUR_CLIENT_ID &
redirect_uri = http://www.example.com/oauth_redirect&
client_secret = YOUR_SECRET_KEY &
код = YOUR_CODE

Этот запрос вернет строку вида access_token = YOUR_ACCESS_TOKEN.

Просто разберите access_token =, и у вас будет токен, который вы можете использовать для доступа к API графа Facebook, в таких запросах, как http://graph.facebook.com/me/friends?access_token=YOUR_ACCESS_TOKEN Это вернет объект JSON, содержащий всех ваших друзей

Надеюсь, это сэкономит кому-то еще немного времени, потраченного на изучение документации. Спасибо за помощь!

2 голосов
/ 03 мая 2010

Это правда, что API Facebook предназначен для разработчиков, которые создают приложения, которые будут использоваться многими пользователями.

К счастью, новый API Graph намного проще в использовании, чем его предшественник, и вам не должно быть очень сложно работать без использования или создания множества базовых инфраструктур.

Вам потребуется для реализации авторизации, но это не сложно, и если вы запрашиваете у пользователя разрешение offline_access, это нужно будет сделать только один раз.

Документация по Аутентификация на рабочем столе , вероятно, будет наиболее релевантной для вас на данном этапе, хотя вы можете перейти к аутентификации на основе javascript, как только вы запустите веб-приложение. 1011 *

Как только аутентификация завершена, все, что вы делаете, это делаете запросы GET к различным URL-адресам и работаете с полученным JSON.

Вот документация о событиях, и вы можете получить список друзей из соединения друзей Пользователь .

0 голосов
/ 03 мая 2010

Ответ на аутентификацию приложения Facebook трудно найти, но на самом деле его можно найти на странице «Аналитика» в Graph API. Укажите следующее: https://graph.facebook.com/oauth/access_token?client_cred&client_id=yourappid&client_secret=yourappsecret, вам будет предоставлен access_token, который вы можете использовать во всех других вызовах.

API, предоставленные Facebook, в настоящее время НЕ предоставляют такой уровень функциональности.

0 голосов
/ 03 мая 2010

Я не эксперт в Facebook / Facebook Connect, однако я видел, что он использовал / использовал приложения с ним, и кажется, что на самом деле есть только «официальный» способ сделать это. Боюсь, похоже, что ваша лучшая ставка, вероятно, будет чем-то вроде этого.

http://wiki.developers.facebook.com/index.php/Connect/Authentication_and_Authorization

Независимо от того, как вы на самом деле «используете» его, вам все равно нужно будет авторизовать приложение для подключения к учетной записи, а это также означает наличие приложения Facebook.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...