it-swarm.com.ru

Facebook Graph API дает неизвестное исключение OAuthException

Когда я отправляю запрос на https://graph.facebook.com/me/home?access_token=(код доступа указан здесь) Facebook дает мне это сообщение об ошибке:

{
   "error": {
      "type": "OAuthException",
      "message": "An unknown error has occurred."
   }
}

Любой другой вызов API работает. Если кто-нибудь знает что-нибудь об этой проблеме, пожалуйста, помогите мне.

14
user434565

У Facebook нет очень хороших сообщений об ошибках ...

Очевидно, «произошла неизвестная ошибка» означает, что у меня не было действительных разрешений на доступ к новостной ленте пользователя.

Вы должны включить «read_stream» в свою область, иначе Facebook отклонит ваш запрос с неоднозначным сообщением об ошибке.

Я <3 тебя Facebook API

12
user434565

В дополнение к другим ответам, представленным здесь ...

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

5
rinogo

Я получаю эту ошибку, когда токен доступа является токеном application. С токеном user вызовы API успешно выполняются.

До обновления oauth токен приложения работал. Пользовательский токен работал и обычно возвращал еще больше данных. 

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

4
Dave Cohen

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

3
huizar_mx

Согласно http://developers.facebook.com/docs/reference/api/ , параметр access_token, а не access.

1
Stuart P. Bentley

У меня была такая же проблема и я ее исправил. Для меня я передавал один объект JSON в поле «пакет», но Facebook хотел массив JSON. 

Например, это будет работать, потому что он имеет массив JSON, обозначенный квадратными скобками:

POST /v2.11 HTTP/1.1
Host: graph.facebook.com
Content-Type: application/json
Cache-Control: no-cache
{
"access_token":"YOUR_ACCESS_TOKEN",
"batch":[{"method":"GET", "relative_url":"me/friends?limit=50"}]
}

Этого не произойдет, потому что нет массива JSON, обозначенного квадратными скобками:

POST /v2.11 HTTP/1.1
Host: graph.facebook.com
Content-Type: application/json
Cache-Control: no-cache
{
"access_token":"YOUR_ACCESS_TOKEN",
"batch":{"method":"GET", "relative_url":"me/friends?limit=50"}
}
0
Brendan L