gpt4 book ai didi

javascript - Facebook Javascript API 调用返回错误,需要 appsecret_proof 参数 - 但这是客户端

转载 作者:行者123 更新时间:2023-12-03 00:11:35 24 4
gpt4 key购买 nike

我正在使用 Facebook 的 Javascript SDK,但它返回错误:

来自服务器的 API 调用需要 appsecret_proof 参数

我很熟悉为什么它会通过 PHP 在服务器端返回此错误 - 但这是客户端 JavaScript,并且不明白为什么它会返回此错误。

精简代码如下:

window.fbAsyncInit = function () {
FB.init({
appId: [my app id],
xfbml: true,
version: 'v2.2'
});
};
(function (d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {
return;
}
js = d.createElement(s);
js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
FB.login(function (res) {
if (res.authResponse) {
if (res.authResponse.grantedScopes.indexOf("manage_pages") >= 0) {
FB.api('/me/accounts', function (res) {
if (res && !res.error) {
/*
* Should show pages available for
* the facebook user to manage ...
* (code removed)
*/
}
else {
/*
* Instead, shows 'API calls from the
* server require an appsecret_proof
* argument" error here
*/
console.log("Error /me/accounts: " + JSON.stringify(res.error));
}
});
}

}
});

如果我在 Facebook 应用程序设置中关闭“服务器 API 调用的应用程序 secret 证明”,此功能就可以正常工作,但出于安全原因,我希望将其打开。

这不应通过 JavaScript 调用而失败 - 这是客户端 API 调用,而不是错误消息所描述的服务器 API 调用。

这是 Facebook 的错误,还是我在某个地方遗漏了什么?

最佳答案

截至2018 年 2 月,该问题(或非常相似的问题)似乎再次出现。有一个错误报告:

https://developers.facebook.com/bugs/1597942793626594/

也就是说,对于启用了需要应用程序 key 的应用程序,在撰写本文时,如果不传递appsecret_proof,似乎无法从Javascript执行API调用。

<小时/>

其他说明:

摘自docs :

When this is enabled, we will only allow API calls that either include appsecret_proof or are made from the same device the token was issued to.

但是,在应用程序设置 > 高级 > 安全 > 需要应用程序 key 中,说明如下:

Only allow calls from a server and require app secret or app secret proof for all API calls.

相关错误报告:October 2016 , February 2015 .

相关SO帖子:API calls from the server require an appsecret_proof argument .

关于javascript - Facebook Javascript API 调用返回错误,需要 appsecret_proof 参数 - 但这是客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28365287/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com