Graph API для пользователя возвращает false даже с действительным токеном доступа пользователя - PullRequest
3 голосов
/ 09 сентября 2011

Примерно в 2% случаев пользователь авторизует мое приложение Facebook и, используя действительный токен доступа, я вызываю Facebook API Graph только для того, чтобы получить значение «ложь» вместо представления пользовательской информации в формате JSON. Например:

https://graph.facebook.com/{user_id}?access_token={user_access_token}

--> returns "false"

Я не могу воспроизвести проблему сам. Моя проблема может быть связана с этим ответом: http://facebook.stackoverflow.com/questions/5085957/facebook-graph-api-returns-false-for-page-accounts/6595465#6595465

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

Есть предложения?

ОБНОВЛЕНИЕ (2011-09-29)

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

http://www.facebook.com/pages/create.php

В процессе создания страницы Facebook попросит вас войти в систему с существующей учетной записью или создать новую. Если вы создадите новую, Facebook создаст для вас учетную запись пользователя, но у учетной записи пользователя не будет заполненного профиля. Таким образом, вместо того, чтобы API Facebook предоставлял информацию о пользователе (то есть информацию, собранную в процессе регистрации), он возвращает false. После того как пользователь «создаст профиль», API-интерфейс Facebook вернет правильный график пользователя.

What Facebook looks like when the user doesn't have a Profile.

Ответы [ 2 ]

1 голос
/ 21 сентября 2011

Возвращение 'false' почти всегда означает, что вы пытаетесь получить доступ к фрагменту контента, который текущий пользователь (или страница, приложение и т. Д. В зависимости от вашего access_token) не имеет разрешения на просмотр.

Если вы определенно звоните /{user_id} с токеном доступа пользователя, скорее всего, либо у пользователя отключена платформа, либо у пользователя заблокирован пользователь сеанса.

1 голос
/ 20 сентября 2011

Facebook возвращает представление данных в формате JSON для {user_id} (в соответствии с вашим использованием), когда этот идентификатор пользователя является либо идентификатором профиля, либо идентификатором приложения, либо идентификатором страницы

Значение false возвращается, когда оно не является ни одним из трех. Что-то не так с {user_id}, который вы используете. Вы должны зарегистрировать идентификаторы, для которых вы получаете эту ошибку, и попытаться сделать вызов графа, например, http://graph.facebook.com/{user_id}.., если это снова вернет false, вы будете уверены в том, что это неправильный идентификатор ,,

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