订阅标记为“本机”的应用的实时更新

时间:2012-07-16 21:56:13

标签: facebook facebook-graph-api real-time native facebook-oauth

当我按照以下说明操作时: 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中无处可去 文档是否表示Native应用程序并非全部使用实时API。
  3. 相关问题:
    How do I subscribe to 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 发出订阅请求,而不是客户。

1 个答案:

答案 0 :(得分:0)

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