首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我总是得到:“提供了无效的appsecret_proof”

我总是得到:“提供了无效的appsecret_proof”
EN

Stack Overflow用户
提问于 2013-08-30 01:30:33
回答 2查看 2K关注 0票数 0

我知道在Facebook API的最新更新中,有可能提供一个使用app_secret签名的访问令牌的appsecret_proof

现在的问题是,不管我在我的facebook应用程序上设置了什么选项(启用\禁用:Require AppSecret Proof for Server API calls),我总是得到:

Invalid appsecret_proof provided in the API argument

我发现最新版本的php-facebook-sdk总是在参数appsecret_proof之间插入

代码语言:javascript
复制
...
if (isset($params['access_token'])) {
    $params['appsecret_proof'] = $this->getAppSecretProof($params['access_token']);
}
...
protected function getAppSecretProof($access_token) {
    return hash_hmac('sha256', $access_token, $this->getAppSecret());
}
...

如果我在我的应用程序上禁用检查,并注释插入参数的行,一切都正常,否则我会得到错误。

现在,我哪里错了?我三次检查了$access_token$this->getAppSecret()和文档,看起来都是正确的。有什么线索吗?

EN

回答 2

Stack Overflow用户

发布于 2015-08-12 04:58:48

从简单的问题解决方案到复杂的问题解决方案,全神贯注。在这种特定情况下,我首先要做的是仔细(三重)检查我的:应用程序ID应用程序秘密应用程序接口-版本(全部3个都在应用程序仪表板中提供)和访问令牌(工具和支持>图形API资源管理器)。

对我来说,缺少的部分是访问令牌。确保在Graph API Explorer下,找到右侧的下拉列表,然后选择您已注册的应用程序名称,而不是默认值"Graph API Explorer“。

所以,毕竟你的代码应该是这样的(Graph v2.4):

代码语言:javascript
复制
$fb = new Facebook\Facebook([
  'app_id' => $app_id,
  'app_secret' => $app_secret,
  'default_graph_version' => $api_version
]);
票数 0
EN

Stack Overflow用户

发布于 2013-09-16 00:10:44

通过授予所有权限,我终于能够摆脱这个错误。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18517414

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档