Аутентификация для отображения моей стены на моем сайте - PullRequest
0 голосов
/ 01 июня 2011

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

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

Как я могу запросить объект JSON моего Wall Stream, учитывая тот факт, что у меня есть ключ API, секрет и т. Д.? В настоящее время я не могу понять, как превратить эти детали в правильный access_token, который может фактически использоваться с FacebookClient.Get("Me", parameters).

Я где-то читал, что могу получить infinite session key, который никогда не истечет, но, следуя приведенным здесь шагам , просто вызовет ошибку на втором шаге.

Я прочитал множество документации и попытался найти примеры, но почти все, что я нашел, начинается после аутентификации.

Любая помощь очень ценится.

1 Ответ

4 голосов
/ 01 июня 2011

Во-первых, вам нужно получить токен доступа (обойти это невозможно).Это делается через диалог OAuth, где пользователь входит в систему и предоставляет необходимые разрешения.Вам нужно будет запросить разрешения «offline_access» и «read_stream», чтобы делать то, что вы пытаетесь.Получить access_token довольно просто.Следуйте инструкциям, приведенным здесь: http://osnapz.wordpress.com/2010/04/23/using-asp-net-with-facebooks-graph-api-and-oauth-2-0-authentication/

Также ознакомьтесь с документацией Facebook: http://developers.facebook.com/docs/authentication/

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

После того, как вы получите токен доступа, вы можете напрямую вызвать API графика:

https://graph.facebook.com/me/feed/?access_token=YOUR-TOKEN-HERE

ИЛИ вы можете использовать Facebook C # SDK (рекомендуется).

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

ОБНОВЛЕНИЕ - РУЧНОЙ СПОСОБ ПОЛУЧЕНИЯ ЖЕЛЕЗНОГО ДОСТУПА:

Поскольку вы заинтересованы только в этомв ваших данных, так что вам нужно будет только получить токен доступа ОДИН РАЗ.Конечно, вам придется сделать это снова, если вы измените свой пароль.

Я подробно опишу способ получения вашего токена вручную.

  1. Убедитесь, что вы используете Firefox.На самом деле отображаются строки JSON.
  2. Перейдите по этому URL.Добавьте идентификатор приложения, callback-url (он должен соответствовать домену, который вы указали при регистрации).Я добавил много разрешений.

https://www.facebook.com/dialog/oauth?display=popup&client_id=YOUR-APP-ID&redirect_uri=YOUR-CALLBACK-URL&scope=offline_access,read_stream,email,read_insights,user_events,user_groups,user_interests,user_likes,user_location,user_notes,user_photo_video_tags,user_photos,user_relationships,user_religion_politics,user_status,user_videos,user_website,user_work_history,read_friendlists,read_requests,friends_likes,friends_location,friends_notes,friends_photo_video_tags,friends_photos,friends_relationships,friends_religion_politics,friends_status,friends_videos,friends_website,friends_work_history,user_checkins,friends_checkins

  1. Как только вы авторизуетесь и «Разрешить», Facebook перенаправит на ваш URL обратного вызова «»код ».Запишите этот параметр.

  2. Теперь вызовите другой URL-адрес, добавьте идентификатор своего приложения, секрет API и код.

https://graph.facebook.com/oauth/access_token?client_id=YOUR-APP-ID&redirect_uri=YOUR-CALLBACK-URL&client_secret=API-SECRET&code=CODE-YOUR-COPIED-BEFORE

  1. При вызове вышеуказанного URL-адреса токен доступа отобразится в браузере.Сохраните этот токен доступа.Теперь вы можете использовать этот токен для выполнения вызовов API от вашего имени.

  2. Помните, что вам придется пройти через этот процесс снова, если вы смените пароль.

Это ручной способ, предназначенный только для вашего сценария, когда вас интересуют только ваши данные.Я делаю это для целей тестирования.

...