restfb: написание приложения для Facebook с использованием Java (с использованием нового графа API) - PullRequest
2 голосов
/ 09 марта 2011

Я пытаюсь написать приложение для Facebook, используя Java Tomcat с RestFB.

В документации restfb показано следующее:

Я думаю, что я, возможно, смотрю на неправильные инструкции, и это для подключения к Facebook или чего-то еще, кроме реального приложения Facebook внутри apps.facebook.com/app_name.

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

В общем случае после получения токена доступа пользователя я могу сделать следующее:

FacebookClient facebookClient = new DefaultFacebookClient(MY_ACCESS_TOKEN);
User user = facebookClient.fetchObject("me", User.class);
out.println("User name: " + user.getName());

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

так что, я думаю, я довольно потерян здесь.

пожалуйста, помогите! :)

спасибо

обновление после комментариев

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

Ответы [ 2 ]

4 голосов
/ 10 марта 2011

Как указано в комментариях, это шаги, которые необходимо предпринять, чтобы получить доступ к графическому API Facebook.Однако, чтобы ответить на ваш второй вопрос:

«Как сделать так, чтобы эти шаги были скрыты от пользователя?»

Только первый запрос должен быть выполненбраузер пользователя.Цель состоит в том, чтобы Facebook хотел убедиться, что это единственная авторизация, предоставляющая личность пользователя Facebook.В зависимости от приложения, которое вы пишете, вы должны либо использовать URL-адрес перенаправления, чтобы указать указанный вами URL-адрес перенаправления по умолчанию, либо указать собственный URL-адрес на своем веб-сайте, который вы будете использовать для получения токена.Первый подход обычно используется автономными приложениями, такими как мобильные устройства, которые могут управлять тем, как браузер обрабатывает перенаправления.Второй подход будет использоваться для пользовательского веб-приложения.Как только вы получите токен доступа, вы будете выполнять вторую операцию в вашем коде (используя ваш любимый http apis), а не через браузер.Перенаправление на URL-адресе access_token сравнивается с URL-адресом перенаправления, указанным в URL-адресе аутентификации.Facebook использует его только для проверки и не выполняет фактическое перенаправление при успешном завершении запроса.

Вот шаги высокого уровня:

  1. Перенаправить браузер пользователя на URL-адрес аутентификации, указав соответствующий redirect_uri
  2. Получить токен проверки из перенаправленного запроса браузера
  3. Выполните извлечение access_token, используя предпочитаемую платформу HTTP (ввод пользователя не требуется)
  4. Анализ результатов и получение токена доступа
  5. Начальный restfb с токеном и использование при необходимости
1 голос
/ 07 марта 2012

API REST устарел.Вместо этого вам следует обратиться к API JavaScript и Graph - здесь есть хорошая статья: http://ocpsoft.org/opensource/creating-a-facebook-app-setup-and-tool-installation/ (серия из трех частей, очень подробная:)

...