Facebook PHP API 错误代码 100:API 中提供的 appsecret_proof 无效
Posted
技术标签:
【中文标题】Facebook PHP API 错误代码 100:API 中提供的 appsecret_proof 无效【英文标题】:Facebook PHP API Error code 100: Invalid appsecret_proof provided in the API 【发布时间】:2014-08-12 21:03:00 【问题描述】:我正在使用 4.0 版的 php SDK for Facebook。下午的大部分时间我都在四处寻找,但我发现的任何与我的问题相关的帖子要么不起作用,要么涉及使用较旧的 SDK 版本。
我正在尝试使用 FacebookRequest 对象向 facebook 发出基本 GET 请求,但它返回错误代码 100,并带有错误消息“API 中提供的应用程序秘密证明无效”。
在我的应用设置中,我尝试启用“需要 appsecret_proof 进行服务器 API 调用”以及禁用它。奇怪的是,这并没有改变我收到的错误。
编辑:我已经仔细检查了我的应用密钥、应用密码和访问令牌,它们似乎都是正确的。
这是我的代码:
require_once(dirname(__FILE__).DIRECTORY_SEPARATOR.'Facebook/autoload.php' );
use Facebook\FacebookSession;
use Facebook\FacebookRedirectLoginHelper;
use Facebook\FacebookRequest;
use Facebook\FacebookResponse;
use Facebook\FacebookSDKException;
use Facebook\FacebookRequestException;
use Facebook\FacebookAuthorizationException;
use Facebook\GraphObject;
$app_key = 'MYAPP_KEY';
$app_secret = 'MYAPP_SECRET';
$fb_access_token = "MYACCESS_TOKEN";
// init app with app id (APPID) and secret (SECRET)
FacebookSession::setDefaultApplication($app_key,$app_secret);
try
$session = new FacebookSession($fb_access_token);
catch( FacebookRequestException $ex )
// When Facebook returns an error
echo "Facebook returned a request exception.";
exit;
catch( Exception $ex )
// When validation fails or other local issues
echo "Facebook returned an unspecified exception.";
exit;
try
// graph api request for user data
$request = new FacebookRequest( $session, 'GET', '/me' );
$response = $request->execute();
// get response
$graphObject = $response->getGraphObject();
// print data
echo print_r( $graphObject, 1 );
catch(FacebookRequestException $e)
echo "Exception occured, code: " . $e->getCode();
echo " with message: " . $e->getMessage();
echo "Raw response: " . $e->getRawResponse();
我很茫然;我一直盯着它看了很久,我找不到它有什么问题。
【问题讨论】:
【参考方案1】:你可以试试这个: 1. 在您的 FbApp 中禁用“要求 appsecret_proof 进行服务器 API 调用” 2. 在您的代码中,在 FacebookSession::setDefaultApplication($app_key,$app_secret); 行之后 添加这一行:FacebookSession::enableAppSecretProof(false);
【讨论】:
完美。为我工作。 有没有办法用旧的 SDK v.3 解决这个问题?我用这个问题开了一个新话题:***.com/questions/31535380/…以上是关于Facebook PHP API 错误代码 100:API 中提供的 appsecret_proof 无效的主要内容,如果未能解决你的问题,请参考以下文章
facebook 发送 API 错误代码:100 API 错误描述:无效参数错误消息:“链接”无效
PHP中的Facebook Graph API出现不一致的错误 - 无法连接到graph.facebook.com端口443:连接超时