记录今天学习到的 --- 如何获取微信access_token及微信二维码ticket。
2016-01-27 00:00
711 查看
借用了 appid和appsecret
// print_r($access_token);
//生成临时二维码
$qr_Scene = '{"expire_seconds": 604800, "action_name": "QR_SCENE", "action_info": {"scene": {"scene_id": 10000}}}';
$qrcode_url = "https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token={$access_token}";
$result = postData($qrcode_url,$qr_Scene);
$jsoninfo = json_decode($result,true);
$ticket = $jsoninfo['ticket'];
// $ticket = urlencode($ticket);
$get_img = "https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket={$ticket}";
$qrcode_img = file_get_contents($get_img);
// print_r($ticket);
// print $qrcode_img;
//打印出图片
// header('Content-type: image/jpeg');
// echo $qrcode_img;
//获取access_token,get方式 file_get_connects($url).
function get_weixin_token($appId,$appSecret){
// echo $access_token;exit;
return $access_token;
}
//post方式生成临时二维码
function postData($url, $data = null)
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
// curl_setopt($curl, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1);
if (!empty($data)){
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
}
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($curl);
curl_close($curl);
return $output;
}
//将图片数据保存为一个文件
function downloadImageFromWeixin($url){
$ch = curl_init($url);
curl_setopt($ch,CURLOPT_HEADER);
curl_setopt($ch,CURLOPT_NOBODY);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,FALSE);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
$package = curl_exec($ch);
$httpinfo = curl_getinfo($ch);
curl_close($ch);
return array_merge(array('body'=>$package),array('header'=>$httpinfo));
}
$appId = trim('appid'); $appSecret =trim('secret'); $access_token = get_weixin_token($appId,$appSecret);
// print_r($access_token);
//生成临时二维码
$qr_Scene = '{"expire_seconds": 604800, "action_name": "QR_SCENE", "action_info": {"scene": {"scene_id": 10000}}}';
$qrcode_url = "https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token={$access_token}";
$result = postData($qrcode_url,$qr_Scene);
$jsoninfo = json_decode($result,true);
$ticket = $jsoninfo['ticket'];
// $ticket = urlencode($ticket);
$get_img = "https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket={$ticket}";
$qrcode_img = file_get_contents($get_img);
// print_r($ticket);
// print $qrcode_img;
//打印出图片
// header('Content-type: image/jpeg');
// echo $qrcode_img;
$filename = './qrcode/qrcode.jpg'; $local_file = fopen($filename,'w'); $imageInfo = downloadImageFromWeixin($get_img); if(false !== $local_file){ if(false !== fwrite($local_file,$imageInfo['body'])){ fclose($local_file); } }
//获取access_token,get方式 file_get_connects($url).
function get_weixin_token($appId,$appSecret){
$url = "https://api.weixin.qq.com/cgi-bin/token? grant_type=client_credential&appid={$appId}&secret={$appSecret}"; $return = file_get_contents($url); $return = json_decode($return); $access_token = $return -> access_token;
// echo $access_token;exit;
return $access_token;
}
//post方式生成临时二维码
function postData($url, $data = null)
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
// curl_setopt($curl, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1);
if (!empty($data)){
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
}
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($curl);
curl_close($curl);
return $output;
}
//将图片数据保存为一个文件
function downloadImageFromWeixin($url){
$ch = curl_init($url);
curl_setopt($ch,CURLOPT_HEADER);
curl_setopt($ch,CURLOPT_NOBODY);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,FALSE);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
$package = curl_exec($ch);
$httpinfo = curl_getinfo($ch);
curl_close($ch);
return array_merge(array('body'=>$package),array('header'=>$httpinfo));
}
相关文章推荐
- 基于新浪云的微信公众号开发配置过程
- AccessibilityService之微信抢红包辅助功能实现
- 微信朋友圈马赛克图片 —— 抓包破解教程
- 微信smali反编译 语音消息转发功能
- 查看被删微信好友
- 查看被删微信好友
- PC端扫码实现微信联合登录
- 微信朋友圈“红包照片”闹剧
- 微信朋友圈“红包照片”闹剧
- Tiger小屋:微信的多客服功能,在自定义菜单中的实现
- 微信企业号开发(4)--管理通讯录(部门)
- 高斯模糊算法浅析-----------微信朋友圈的红包照片有感而发
- 找出微信把你删除的好友
- android微信开放平台使用
- 使用JFinal-weixin配置微信开发
- 微信模糊照片破解方法(程序猿专用)
- Android实现微信、QQ的程序前后台切换
- ShareSDK实现第三方微信分享功能
- Android仿微信发朋友圈浏览图片效果
- android之仿微信双击放大字体及滑动冲突,文本显示不全