一个QQ登陆获取 access token 的问题
[ 2012-10-29 12:46:47 | 作者: admin ]
程序运行的结果是 access_token is empty
如果我将 token_url 直接在浏览器中输出 可以显示 access_token 为什么用 file_get_contents($token_url); 无法获取
解决办法
QQ登录OAuth2.0
接口地址是HTTPS的
需要PHP开启ssl
打开php.ini找到
如果我将 token_url 直接在浏览器中输出 可以显示 access_token 为什么用 file_get_contents($token_url); 无法获取
$token_url = "https://graph.qq.com/oauth2.0/token?grant_type=authorization_code&"
. "client_id=" .$qq_appid. "&redirect_uri=" . urlencode($login_allback)
. "&client_secret=" .$qq_appkey. "&code=" . $_REQUEST["code"];
//$response = get_url_contents($token_url);
$response = file_get_contents($token_url);
if (strpos($response, "callback") !== false)
{
$lpos = strpos($response, "(");
$rpos = strrpos($response, ")");
$response = substr($response, $lpos + 1, $rpos - $lpos -1);
$msg = json_decode($response);
if (isset($msg->error))
{
echo "<h3>error:</h3>" . $msg->error;
echo "<h3>msg :</h3>" . $msg->error_description;
exit;
}
}
$params = array();
parse_str($response, $params);
echo $token_url;
echo "<br>";
echo $response;
echo "<br>";
$access_token=$params["access_token"];
if (empty($access_token))
{
exit("access_token is empty");
}
. "client_id=" .$qq_appid. "&redirect_uri=" . urlencode($login_allback)
. "&client_secret=" .$qq_appkey. "&code=" . $_REQUEST["code"];
//$response = get_url_contents($token_url);
$response = file_get_contents($token_url);
if (strpos($response, "callback") !== false)
{
$lpos = strpos($response, "(");
$rpos = strrpos($response, ")");
$response = substr($response, $lpos + 1, $rpos - $lpos -1);
$msg = json_decode($response);
if (isset($msg->error))
{
echo "<h3>error:</h3>" . $msg->error;
echo "<h3>msg :</h3>" . $msg->error_description;
exit;
}
}
$params = array();
parse_str($response, $params);
echo $token_url;
echo "<br>";
echo $response;
echo "<br>";
$access_token=$params["access_token"];
if (empty($access_token))
{
exit("access_token is empty");
}
解决办法
QQ登录OAuth2.0
接口地址是HTTPS的
需要PHP开启ssl
打开php.ini找到
;extension=php_openssl.dll
去掉双引号”;” ,重启web服务器即可。
评论Feed: http://blog.xg98.com/feed.asp?q=comment&id=1890
这篇日志没有评论。
此日志不可发表评论。