Я создаю веб-сайт для группы комедии, которая использует Facebook в качестве одной из их маркетинговых платформ; одно из требований для нового сайта должно отобразить все их события Facebook на календаре.
В настоящее время я просто пытаюсь соединить сценарий Python, который может вытянуть некоторые данные из моего собственного аккаунта в Facebook, как список всех моих друзей. Я предполагаю, после того как я могу выполнить это, я могу переместиться в вытаскивание более сложных данных из моей клиентской учетной записи (так как они предоставили мне доступ к своей учетной записи).
Я посмотрел на многие сообщения здесь, и также прошел документацию API Facebook, включая Подключение Facebook, но действительно бью моей головой о стену. Все, что я считал, походит на излишество, поскольку оно включает установку большого количества инфраструктуры, чтобы позволить моему приложению настраивать соединения с учетной записью любого произвольного пользователя (кто авторизовывает меня). Если бы разве это не должно быть намного более просто, то, учитывая я только когда-либо должен получать доступ к 1 учетной записи?
Я не могу найти способ получить данные, не имея необходимость отображать окно входа в систему Facebook. У меня есть сценарий, который получит всех моих друзей, но он включает перенаправление, где я должен физически зарегистрировать меня в к Facebook.
Ценил бы любой совет или ссылки, я просто чувствую, что должен пропускать что-то простое.
Спасибо!
Это правда, что API Facebook ориентирован на разработчиков, которые создают приложения, которые будут использоваться многими пользователями.
К счастью, новый Graph API намного проще в использовании, чем его предшественник, и вам не должно быть очень сложно работать без использования или создания большого количества базовой инфраструктуры.
Вам потребуется реализовать авторизацию, но это несложно, и пока вы запрашиваете у пользователя разрешение offline_access, это нужно будет сделать только один раз.
Документация по Desktop Authentication , вероятно, будет наиболее актуальной для вас на данном этапе, хотя вы можете захотеть перейти к аутентификации на основе javascript после того, как у вас будет запущено веб-приложение.
После завершения аутентификации все, что вы делаете, это отправляете GET-запросы по различным URL-адресам и работаете с полученным JSON.
Вот документация по Событиям, и вы можете получить список друзей из друзей пользователя .
Я не эксперт по Facebook / Facebook Connect, однако я видел, как он использовал / использовал приложения с ним, и, похоже, на самом деле есть только «официальный 'способ сделать это. Боюсь, вам кажется, что лучше всего будет что-то в этом роде.
http://wiki.developers.facebook.com/index.php/Connect/Authentication_and_Authorization
Независимо от того, как вы его фактически «используете», вам все равно необходимо авторизовать приложение для подключения к учетной записи и это также означает наличие приложения Facebook.
Трудно найти ответ на аутентификацию приложения Facebook, но на самом деле он находится в Страница "Аналитика" Graph API. Укажите следующее: https://graph.facebook.com/oauth/access_token?client_cred&client_id=yourappid&client_secret=yourappsecret , тогда вам будет предоставлено access_token, который вы можете использовать для всех других вызовов.
API-интерфейсы, предоставляемые Facebook, в настоящее время НЕ обеспечивают такой уровень функциональности.
Просто размещаю свои заметки об успешном совете, если другие найдут это сообщение;
По совету Дэниела и Уильяма я получил нужные разрешения, используя опции 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, содержащий всех ваших друзей
Надеюсь, это сэкономит кому-то еще немного невеселого времени, потраченного на изучение документации. Спасибо за помощь!