Facebook错误:“客户端令牌不能用于此API” - 适用于DEV和STAGE但不适用于LIVE应用程序?

时间:2012-12-06 17:02:06

标签: facebook token

我已经构建了一个通知发送系统,该系统使用应用访问令牌向我们应用的所有用户发送通知。该系统当前正在我的localhost上运行。当我使用appid和appsecret为我的开发和舞台环境配置它时,它工作正常。但是当我放入LIVE应用程序的appid和appsecret时,我收到了这个错误:

{“message”:“客户端令牌不能用于此API”,“类型”:“OAuthException”,“code”:190}

那么dev和live之间有什么不同? Dev和Stage处于沙盒模式,Live不是。所以我尝试在Dev / Stage上禁用沙箱模式,它们继续正常运行。 Dev工作正常,Stage工作正常,Live给出了这个错误。所有其他代码都是相同的,除了appid,appsecret和redirect_uri(更改它以匹配每个环境的域)。

我已经检查了this帖子,但不幸的是,我们在拥有1,000,000名用户的网站上重置我们的appsecret并不是我们现在可以做的事情(太多其他功能依赖于它)。

1 个答案:

答案 0 :(得分:2)

您需要重置客户端令牌,而不是应用程序密钥 - 错误消息表示您的应用程序在某个时刻被设置为“桌面/本机”(而不是“网络”)在“应用类型”下 -

以前这意味着您的应用访问令牌已嵌入您的客户端代码中,因此不会因为发出应用签名请求而受到信任。

如果您的客户端令牌与应用程序机密相同(如果您从未更改过它将会是这样),Facebook仍然认为信任是不安全的;您需要更改客户端令牌,该令牌位于高级设置,安全性:

enter image description here