2012-06-27 75 views
0

我正在使用Facebook的PHP SDK。用戶允許我的應用程序後,Facebook重定向到可能的網頁。 URL如下Facebook的PHP SDK 3問題access_token

http://Mydowmain.com/facebook.htm?state=d96afbb9ea550fg81c287b7822cee0af1&code=AQDtl7Rd7qgCp6S_dXwOCxxfXo1dEh75ZJqrCINMawCUzxOYs9JnpmWKMoYTgjuNhQx2nk8pleCdvGqSt39F2pHKMHt3aNxwqoIah2oshPKKC0MnWycPSU0yLAKMYVQV2g3jRQdEMf2dWTVUrk_ammSpGaYbfFQ3GeccZ1vGqfVazsaQ_1Lxz7GjITlqgCxrOlc#_=_ 

我需要獲取的access_token 以下是代碼

if($_GET['code'] != '') 
     { 

$access_token = $facebook->getAccessToken(); 

當我嘗試使用此$的access_token獲取用戶詳細信息。

$user_profile = 'https://graph.facebook.com/me/?access_token='.$access_token; 

它提供了以下錯誤

{"error":{"message":"An active access token must be used to query information about the current user.","type":"OAuthException","code":2500}} 

} 

我DNT什麼我做錯了,它與SDK 2個工作但不與SDK3

$access_token = $facebook->getAccessToken(); 

工作這個調用返回以下,其中「|」之前的第一部分是應用程序ID並在「|」之後是應用程序的祕密..

187997367916887|9d87d7a2d26485fd926a000b0c3b2f87

+0

什麼訪問令牌從getAccessToken你實際上得到的呼喚嗎?打印出來進行調試,並用https://developers.facebook.com/tools/debug – CBroe

+0

$ access_token = $ facebook-> getAccessToken()查看。 此調用返回以下內容,其中「|」之前的fistpart是應用程序ID並在「|」之後是應用程序的祕密.. 187997367916887 |所有的9d87d7a2d26485fd926a000b0c3b2f87 – Asghar

+0

首先,爲您的應用程序一個新的應用程序祕密現在 - 因爲你貼在interwebs你的(<-stupid)。然後,當然,使用該訪問令牌對'/ me'的API調用失敗,因爲當使用_app_訪問令牌時,API無法知道「我」應該是誰。如果FB SDK在登錄後沒有爲您提供用戶訪問令牌,則出現問題。 – CBroe

回答

1

檢查這個環節出去,向下滾動到以粗體顯示如下的回答:「在使用Facebook應用程序的令牌」,希望它幫助。

Facebook access_token invalid?

+0

爲什麼他使用的令牌是_app_訪問令牌? – CBroe

+0

這絕對是一個應用程序訪問令牌 - 當沒有用戶會話時,SDK從getAccessToken()返回這些令牌 – Igy

+1

@lgy ...所以我怎樣才能獲得access_token而不是app access_token – Asghar

0

更改您的通話圖形的API通過( '/編號或名稱ID]')( '/我')