2016-02-03 90 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。我正在選擇我的用戶名。當我選擇應用程序並點擊「獲取令牌」時,它會顯示我的應用程序的「登錄面板」,並可以生成令牌。

它適用於我。

相關問題