Facebook 图 api 调用不适用于网络

Facebook graph api call not working for web

我有 2 次调用图表 api

第一个 returns 成功,但第二个总是 returns 错误(400 错误请求)。

有趣的是,当我在浏览器中复制创建的 url 时,它 returns 数据符合预期,只有 运行 通过 java 代码作为http 客户端调用它会抛出错误。 url 没问题,access_token 也正确,已在 facebook 调试中验证。

谁能告诉我我哪里做错了。

这是示例url

https://graph.facebook.com/v2.4/me?access_token=sample_token&token_type=bearer&fields=id,name,email

如果您请求 Graph API 对象,您没有指定 token_type。尝试以下操作:

https://graph.facebook.com/v2.4/me?access_token=sample_token&fields=id,name,email

问题是 v2.4 需要一个名为 appsecret_proof 的附加字段。提供客户端密码的 sha256 和访问令牌解决了这个问题。而且这也仅适用于服务器调用。如果没有来自客户端调用,它也能正常工作。这就是为什么浏览器调用工作正常但 Web 服务器调用不工作的原因。