Получение моих собственных данных через Facebook API

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

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

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

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

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

Спасибо!

8
задан goggin13 3 May 2010 в 05:13
поделиться

4 ответа

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

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

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

Документация по Desktop Authentication , вероятно, будет наиболее актуальной для вас на данном этапе, хотя вы можете захотеть перейти к аутентификации на основе javascript после того, как у вас будет запущено веб-приложение.

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

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

2
ответ дан 5 December 2019 в 18:57
поделиться

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

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

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

0
ответ дан 5 December 2019 в 18:57
поделиться

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

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

0
ответ дан 5 December 2019 в 18:57
поделиться

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

По совету Дэниела и Уильяма я получил нужные разрешения, используя опции Connect. От Уильяма, эта ссылка объясняет, как работает подключение к 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. Переменная scope просто включает список значений, разделенных запятыми, о которых 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&
code=ВАШ_КОД

Этот запрос вернет строку вида access_token=ВАШ_ACCESS_TOKEN.

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

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

7
ответ дан 5 December 2019 в 18:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: