接收微信openid

BadFish 发布于 2016/02/03 10:11
阅读 392
收藏 0
PHP

最近做微信开发,别的工程差不多了,但是接受file_get_contents接受含有openid的json数据的时候接收不到json,反而在url中返回了

function get_oopenid($token)
{
		
	//获取相关的公共信息
	$appmap['token']=$token;
	$appid=M('public')->where($appmap)->find();
	$callback = GetCurUrl();                     //获取请求的url
	$codeurl='https://open.weixin.qq.com/connect/oauth2/authorize?appid='.$appid['appid'].'&redirect_uri='.$callback.'&response_type=code&scope=snsapi_base&state=1#wechat_redirect';
	
	if(!isset($_GET['state']))
	{
		redirect($codeurl);
		
	}
	elseif(isset($_GET['code']) and !isset($_GET['opendid']))              //获取code情况
	{
		
		$content = file_get_contents("https://api.weixin.qq.com/sns/oauth2/access_token?appid=".$appid['appid']."&secret=".$appid['secret']."&code=".$_GET['code']."&grant_type=authorization_code");
		$arr = json_decode($content);
		return $arr['openid'];
		
	}
	
}




加载中
0
所长别开枪是我zzg
所长别开枪是我zzg
使用curl接收json吧,file_get_contents对于https 应该要在php.ini开启配置一些东西的
0
BadFish
BadFish

引用来自“所长别开枪是我zzg”的评论

使用curl接收json吧,file_get_contents对于https 应该要在php.ini开启配置一些东西的
curl也试过了,也是不行,代码中的openid不小心写成opendid,改过来还是不行,后来测试发现,第一次获取openid的时候会get方式返回,第二次的时候就变成json了,添加了一个get逻辑判断终于获取成功了
返回顶部
顶部