[英]Facebook PHP API Error code 100: Invalid appsecret_proof provided in the API
我正在使用適用於Facebook的PHP SDK 4.0版。 我已經在下午的大部分時間里轉悠,但是我發現的與我的問題有關的任何帖子都無法正常工作,或者涉及使用舊版SDK。
我正在嘗試使用FacebookRequest對象向Facebook發出基本的GET請求,但它返回的錯誤代碼為100,錯誤消息為“ API中提供了無效的appsecret_proof”。
在我的應用程序設置中,我嘗試啟用“要求服務器API調用需要appsecret_proof”,並將其禁用。 奇怪的是,這不會改變我收到的錯誤。
編輯:我已經仔細檢查了我的應用程序密鑰,應用程序密鑰和訪問令牌,它們似乎都是正確的。
這是我的代碼:
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.在您的FbApp中,禁用“對服務器API調用要求appsecret_proof”
2.在您的代碼中,在FacebookSession :: setDefaultApplication($ app_key,$ app_secret)行之后;
添加以下行:FacebookSession :: enableAppSecretProof(false);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.