3

当我按照以下说明进行操作时:http: //developers.facebook.com/docs/reference/api/realtime/

即: 1) 使用以下命令检索 access_token: https://graph.facebook.com/oauth/access_token?client_id=<APP_ID>&client_secret=<APP_SECRET>&grant_type=client_credentials

2) 发出订阅请求https://graph.facebook.com/<app-id>/subscriptions?access_token=...

我收到错误:

{"error":{"message":"(#15) This method is not supported for native apps","type":"OAuthException","code":15}}

我的应用在“应用类型”下被标记为原生应用https://developers.facebook.com/apps/<app id>/advanced。但是,需要明确的是,我正在从服务器(我打算用作回调服务器的同一台服务器)发出订阅请求。


所以,问题:

  1. 我应该通过其他方式获得 access_token 吗?我获取访问令牌(“ grant_type=client_credentials”)的方式是否意味着我正在获取一个应该用于客户端而不是服务器的访问令牌?
  2. 我做错了什么吗?或者,这只是一个错误/文档错误?实时 API 文档中没有任何地方说本机应用程序不允许使用实时 API。

相关问题:
如何订阅 Facebook Realtime API?基本上是我的同一个问题,但它不在 facebook.stackoverflow.com 上,它的回答是非答案,所以我认为适合重新发布。

http://facebook.stackoverflow.com/questions/11141333/using-real-time-updates-from-facebook-graph-api-with-a-client-application是一个相关问题,但我再次订阅来自SERVER的请求,而不是来自客户端的请求。

4

1 回答 1

0

如果你设置了 canvas_url,你可以做 client_credentials。所以设置本机和画布(服务器)。它将托管您的应用程序的网站版本,这是 FB 授予这种 access_token 所需的。

于 2012-07-17T05:35:49.993 回答