2

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

{"message":"客户端令牌不能用于此 API", "type":"OAuthException", "code":190}

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

我已经检查了这篇文章,但不幸的是,在一个拥有 1,000,000 名用户的网站上重置我们的 appsecret 不是我们目前可以做的(太多其他功能依赖它)。

4

1 回答 1

2

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

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

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

在此处输入图像描述

于 2012-12-06T19:11:06.883 回答