2016-02-03 55 views
2

我使用Facebook的PHP SDK(V4)无效appsecret_proof安装SDK后获取用户信息, ,我添加代码图表返回了一个错误:在API参数提供

$fb = new Facebook\Facebook([ 
    'app_id' => 'my app id', 
    'app_secret' => 'my app secret', 
    'default_graph_version' => 'v2.5', 
]); 

try { 
    // Returns a `Facebook\FacebookResponse` object 
$access_token= //copied from my https://developers.facebook.com/tools/explorer/ 
    $response = $fb->get('/me?fields=id,name', '$access_token'); 
} catch(Facebook\Exceptions\FacebookResponseException $e) { 
    echo 'Graph returned an error: ' . $e->getMessage(); 
    exit; 
} catch(Facebook\Exceptions\FacebookSDKException $e) { 
    echo 'Facebook SDK returned an error: ' . $e->getMessage(); 
    exit; 
} 

$user = $response->getGraphUser(); 

echo 'Name: ' . $user['name']; 

但是当我运行网页它给了我这个错误,

Graph returned an error: Invalid appsecret_proof provided in the API argument 

我正在正确地复制应用程序的秘密,这可能是对这种错误的原因和我应该如何解决这一问题?

回答

1

这可能会帮助像我这样的人在这里降落。这个错误也会发生,如果应用程序的秘密是错误的特定应用程序ID

+0

我不小心将APP_ID复制到了APP_SECRET。感谢这个答案。 –

0

最新的答复,但在我的情况是别的,所以我希望它可以帮助别人。我看到你说:

//copied from my https://developers.facebook.com/tools/explorer/

在资源管理器工具的右上角,确保所选择的Application是您正在使用一个相同的:

$fb = new Facebook\Facebook([ 
    'app_id' => 'my app id', 
    'app_secret' => 'my app secret', 
    'default_graph_version' => 'vX.Y', 
]); 

如果你有选择另一个应用程序并使用针对其他应用程序(基本上为默认浏览器应用程序)给出的访问令牌,创建appsecret_proof的散列将不正确,您将始终看到此错误。

0

您需要在Facebook Graph Explorer中选择您创建的APP。我正在选择我的用户名。当我选择应用程序并点击“获取令牌”时,它会显示我的应用程序的“登录面板”,并可以生成令牌。

它适用于我。

相关问题