Возможно ли получить доступ к информации на стене пользователя без передачи его токена доступа? - PullRequest
1 голос
/ 30 мая 2011

Интересно, можно ли получить доступ к информации на стене пользователя, не передавая его / ее токен доступа?

например, я просто передам секретный токен моего приложения и идентификатор приложения. и пользователь FB уже разрешает доступ к его / ее информации из моего приложения. Facebook выполняет проверку и сопоставление моего приложения и пользователя моего приложения, просто используя секретный токен моего приложения и идентификатор приложения.

Потому что я нашел некоторые темы, похожие на это. http://forum.developers.facebook.net/viewtopic.php?pid=9172

Когда я проверяю документ Rest FB, он говорит вот так. http://restfb.com/javadoc/index.html public DefaultFacebookClient () Создает клиент API Graph Facebook без маркера доступа. Без маркера доступа вы можете просматривать и искать общедоступные данные графика, но больше ничего не можете сделать.

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

Спасибо.

Ответы [ 2 ]

1 голос
/ 30 мая 2011

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

Существует два типа токенов доступа:

  • Сеанс на основе : истекает в краткосрочной перспективе, используются, когдаПользователь будет регистрироваться в FB каждый раз, когда вам нужно будет выполнить операцию.
  • Автономный доступ : не истекает срок действия и позволяет приложению выполнять операции для пользователя в любой момент.Для этого требуется разрешение offline_access при авторизации приложения.

Проверьте здесь: http://developers.facebook.com/docs/authentication/ для механизма oauth и здесь: http://developers.facebook.com/docs/authentication/permissions/ для списка разрешений.

REST API устарел, и оннастоятельно рекомендуется, чтобы вы больше не использовали его.Кроме того, с октября этого года вам будет разрешено использовать только аутентификацию Oauth2 (см. Когда Facebook отключает свою аутентификацию на основе сеансов? )

0 голосов
/ 30 мая 2011

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

Публичные данные

С Домашняя страница RestFB :

// It's also possible to create a client that can only access
// publicly-visible data - no access token required. 

FacebookClient publicOnlyFacebookClient = new DefaultFacebookClient();

Если пользователь этого не делаетЗащитите его сообщения, тогда вы сможете получить доступ ко всему без токена.Но большинство пользователей защищают свои данные, и тогда вам нужен действительный токен доступа пользователя для чтения данных.

Личные данные

Когда вы говорите: «Пользователь FB уже разрешает доступ к своей информации».из моего приложения "это означает, что пользователь нажал" Разрешить приложение "в веб-браузере, и в этот момент здесь Facebook выдаст вам токен.После использования этого токена вы можете использовать RestFB:

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

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

Получить токен пользователя

Вы не можете получить токен пользователя с помощью RestFB.На домашней странице RestFB вы можете прочитать:

Нецелевые задачи: [...] Предоставление механизма получения сеансовых ключей или маркеров доступа OAuth

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

То, что вы можете сделать, это иметьPHP-страница, на которой ваши пользователи должны авторизовать ваше приложение.Вы можете прочитать этот ответ stackoverflow, в котором объясняется, как использовать для этого PHP PHP SDK .

Надеюсь, это поможет!

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