我创建了一个带图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