Facebook Graph API出现未知的OAuthException错误

15

当我向https://graph.facebook.com/me/home?access_token=(输入访问码)发送请求时,Facebook会给我返回这个错误信息:

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

每次 API 调用都有效,如果有人对这个问题有所了解,请帮助我。


现在我的移动应用程序出现了同样的错误,没有改变代码...这不是Facebook第一次毫无通知地更改事情了...在我的情况下,https://graph.facebook.com/me 失败,而其他图形资源似乎正常工作。 - Luca Rocchi
今天他们已经移除了最后一个斜杠....http://forum.developers.facebook.net/viewtopic.php?id=103711 - Luca Rocchi
目前有一个与此非常相似的问题的错误报告:https://developers.facebook.com/bugs/525301577527928 - Juan A. Navarro
5个回答

12

Facebook的错误信息不是很好...

显然,“发生了未知错误”意味着我没有有效的权限访问用户的新闻源。

您必须在范围内包括“read_stream”,否则Facebook将拒绝您的请求并显示模糊的错误信息。

我 <3 你,Facebook API


1
我不喜欢Facebook API,恰恰相反。 - DR.

6
除了这里提供的其他答案之外...
在我们的生产应用中(使用数千个访问令牌工作了几年),似乎偶尔会出现由于API中的暂时故障而引起此错误。我仍然不确定根本原因是什么,但简单地在几分钟后重试API调用似乎始终能解决我们的问题。

4

当访问令牌是应用程序的令牌时,我会收到此错误。使用用户特定的令牌,API调用将成功。

在OAuth升级之前,应用程序的令牌有效。用户特定的令牌有效,并且通常返回更多数据。

当然,对于Facebook来说,无法确定当前行为(在使用应用程序令牌时失败)是错误还是新方式。


1

1
@user434565 为什么不编辑你的问题并纠正你的拼写错误呢? - FR6

0

我曾经遇到过同样的问题并解决了它。对我来说,我在“batch”字段中传递了一个单独的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"}
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接