我創建了一個帶圖api的Facebook地方serach。但訪問密鑰每兩小時過期一次。爲此,我已經實現了下面的代碼如何解決Facebook訪問令牌到期問題?
$app_id = "---";
$app_secret = "----";
$my_url = "";
$code = $_REQUEST["code"];
if (isset($code)) {
$token_url="https://graph.facebook.com/oauth/access_token?client_id="
. $app_id . "&redirect_uri=" . urlencode($my_url)
. "&client_secret=" . $app_secret
. "&code=" . $code . "&display=popup";
$response = file_get_contents($token_url);
$params = null;
parse_str($response, $params);
$access_token = $params['access_token'];
}
$FacebookGraphURL = 'https://graph.facebook.com/search?fields=id,username,name,category,website,likes,location&q='.$keyword.'&type=place¢er='.$center.'&distance='.$radius.'&limit=5&access_token='.$access_token;
$FacebookGraphJSON = file_get_contents($FacebookGraphURL);
但是,這是給下面的錯誤:
Notice: Undefined index: code in /opt/lampp/htdocs/APIcomparison/facebook_graph.php on line 24
我缺少的是什麼?另一件事我不知道用什麼$ my_url
感謝提前。
您試圖訪問'$ _REQUEST [ 「密碼」]',它是否存在與否。用'isset'檢查_that_(並且不必將th值複製到另一個變量)。 – CBroe 2013-04-23 15:26:56
@CBroe,我已經編輯了if(isset($ _REQUEST [「code」])) 的代碼,但問題永遠不會進入if條件,但應該始終如一。 – user2302780 2013-04-24 00:40:38
爲什麼不直接使用PHP SDK - 爲您自動處理所有這些(解壓縮代碼,交換它爲一個訪問令牌)......因此不需要「手動」來完成。 – CBroe 2013-04-24 08:31:06