微信 php 获取ticket

<?php
header(‘content-type:text/html; charset=utf8‘);
define(‘TOKEN‘, ‘youtoken‘); // TOKEN
define(‘APP_ID‘, ‘youid‘); // 开发者AppID,服务号可获取
define(‘APP_SECRET‘, ‘youSECRET‘); // 开发者AppSecret,服务号可获取
set_time_limit(30); //为防止access_token获取失败导致死循环
$wechatObj = new test();
//echo ‘二维码地址:‘.$wechatObj->QrcodeCreate(111);
//echo ‘显示结果‘.$wechatObj->AccessTokenGet();

//连接数据库
$con = mysql_connect("localhost","root","mimabugaoshuini");
mysql_query("SET NAMES utf8");
mysql_select_db("servicedb", $con);
$a=$wechatObj->QrcodeCreate(111);
$arr = explode("https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=",$a);
$query = "update sipuser set ticketid=‘".$arr[1]."‘ where id=100001";
$result = mysql_query($query) or die("Error in query: $query. ".mysql_error());
mysql_close($con);

//echo ‘二维码地址:‘.$query;
class test {
private $token;
private $appID;
private $appSecret;
private $accessToken;
public function __CONSTRUCT(){
$this->token = TOKEN;
$this->appID = APP_ID;
$this->appSecret = APP_SECRET;
$this->accessToken = ‘./access_token‘;
if(!file_exists($this->accessToken)){
$this->AccessTokenGet();
}
}
/* 创建二维码 @param - $qrcodeID传递的参数,$qrcodeType二维码类型 默认为临时二维码 @return - 返回二维码图片地址 */
public function QrcodeCreate($qrcodeID, $qrcodeType = 0) {
if ($qrcodeType == 0) {
$qrcodeType = ‘QR_SCENE‘;
} else {
$qrcodeType = ‘QR_LIMIT_SCENE‘;
}
$tempJson = ‘{"expire_seconds": 1800, "action_name": "‘ . $qrcodeType . ‘", "action_info": {"scene": {"scene_id": ‘ . $qrcodeID . ‘}}}‘;
$access_token = file_get_contents ( $this->accessToken );
$url = "https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=" . $access_token;
$tempArr = json_decode ( $this->JsonPost ( $url, $tempJson ), true );
if (@array_key_exists ( ‘ticket‘, $tempArr )) {
return ‘https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=‘ . $tempArr [‘ticket‘];
} else {
$this->ErrorLogger ( ‘qrcode create falied.‘ );
$this->AccessTokenGet ();
$this->QrcodeCreate ();
}
}
private function AccessTokenGet(){
$url = ‘https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=‘.$this->appID.‘&secret=‘.$this->appSecret;
//$url = ‘https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=wxfcbb68eb1c87a00d&secret=a450e03bb8347ea77e4876590256badd‘;
$tempArr = json_decode(file_get_contents($url), true);
if(@array_key_exists(‘access_token‘, $tempArr)){
$tempWriter = fopen($this->accessToken, ‘w‘);
fwrite($tempWriter, $tempArr[‘access_token‘]);

}else{
$this->ErrorLogger(‘access_token get falied.‘);
exit();
}
}

// /* 用户分组查询 */
public function GroupsQuery(){
$access_token = file_get_contents($this->accessToken);
$url = ‘https://api.weixin.qq.com/cgi-bin/groups/get?access_token=‘.$access_token;
$tempArr = json_decode(file_get_contents($url), true);
if(@array_key_exists(‘groups‘, $tempArr)){
return $tempArr[‘groups‘]; //返回数组格式的分组信息
}else{
$this->ErrorLogger(‘groups query falied.‘);
$this->AccessTokenGet();
$this->GroupsQuery();
}
}

// 工具函数 //
/* 使用curl来post一个json数据 */
// CURLOPT_SSL_VERIFYPEER,CURLOPT_SSL_VERIFYHOST - 在做https中要用到
// CURLOPT_RETURNTRANSFER - 不以文件流返回,带1
private function JsonPost($url, $jsonData){
$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_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $jsonData);
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);
if (curl_errno($curl)) {
$this->ErrorLogger(‘curl falied. Error Info: ‘.curl_error($curl));
}
curl_close($curl);
return $result;
}
/* 错误日志记录 */
private function ErrorLogger($errMsg){
$logger = fopen(‘./ErrorLog.txt‘, ‘a+‘);
fwrite($logger, date(‘Y-m-d H:i:s‘)." Error Info : ".$errMsg."\r\n");
}
}

?>

时间: 2024-10-12 13:12:44

微信 php 获取ticket的相关文章

解析nodejs微信开发-2获取ticket

获取ticket是需要拼接url,url中需要获得的tocken 1.先判断有无tocken:若有则拼接url: 2.请求url: a.处理回调数据,注意时间戳和签名处理方式,此两项并未存到ticket中, b.存储回调数据,存储时将时间戳和签名存到ticket中:注意此两项并未存到数据库,而是在存储时动态生成的时间戳和签名,签名还有一个签名函数: c.返回存储数据. 1 function refreshTicket(appid, appsecret, page, ticket, res) {

微信JS-SDK获取signature签名以及config配置

微信的JS-SDK通过config接口注入权限验证配置,官网上的文档说的很清楚: Js代码   wx.config({ debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印. appId: '', // 必填,公众号的唯一标识 timestamp: , // 必填,生成签名的时间戳 nonceStr: '', // 必填,生成签名的随机串 signature: '',/

从微信官方获取微信公众号名片:http://open.weixin.qq.com/qr/code/?username=haihongruanjian

从微信官方获取微信公众号名片:http://open.weixin.qq.com/qr/code/?username=haihongruanjian 个人的号,不知道怎么获取.

微信企业号 获取用户信息

业务操作最基础的一个功能是获取访客的身份,传统的获取方式是提供一个登录页面用以访客登录. 在微信企业号中,用户在微信中访问页面时,可以根据相关API获取此用户的微信账号信息,以此来匹配业务服务器存储的相关用户信息. 目录 1.  介绍 2.  代码示例 1. 介绍 1.1 说明 企业号的网页开发,说白了就是移动端web开发,特殊点在于如何获取微信用户的身份信息. 在企业号中可以进行如下步骤获取微信用户信息: 访问一个业务页面时,可通过OAuth验证接口获取此用户信息 → 根据code获取user

如何通过微信公众号/微信号获取对应的二维码

方法一:利用游迹天下二维码工具获取   游迹天下彩色二维码工具 http://qr.uooji.com 已经提供了通过微信公众号或微信私人号的微信号获取对应二维码的功能.   使用方法很简单:打开 http://qr.uooji.com,在左侧导航提供了诸多二维码生成选项,第一项就是直接通过微信公众号或微信私号的微信号获取对应的二维码.   例如要获取游迹天下官方微信uooji_com的二维码图片,在输入框处输入uooji_com,然后点击右下角的“生成二维码”按钮即可以获得对应微信号的二维码.

微信端获取用户信息(思路)

微信公众号越来越多,对于我们程序员来说,也越来越需要了解微信端接口开发,下面是微信用户进入公众号后,公众号获取用户信息的思路. 当然了,我有代码,这里就只贴一点,主要的还是流程和查阅微信开发文档. appid和secret是登录微信公众号里面设置的,固定的,code是微信用户同意协议返回给前端的code,后台通过这三个参数,访问url获取openid和access_token,然后再根据url访问微信接口获取用户信息. 代码: 1 String requestUrl = "https://api

[转] Android进阶——安卓接入微信,获取OpenID

PS: sendAuthRequest拿到code,通过code拿到access_token和openId,access_token可以拿到用户的信息 http://blog.csdn.net/haovip123/article/details/50503176 需求:接入微信支付,需要获取 OpenID. 安卓接入微信指南:https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&

微信企业号 获取AccessToken

目录 1. AccessToken介绍 2. 示例代码 1. AccessToken介绍 1.1 什么是AccessToken AccessToken即访问凭证,业务服务器每次主动调用企业号接口时需要带上AccessToken参数. 注:主动调用是指业务服务器调用企业号接口的操作过程,如通讯录管理.应用管理. 文档:http://qydev.weixin.qq.com/wiki/index.php?title=主动调用 1.2 获取AccessToken AccessToken需要用CorpID

微信如何获取导航地图信息

车联网API 还有一些其他功能,限于篇幅我们不一一讲解,大家可自行挖掘. 接下来我们讲解百度地图API 的另一个产品U阳API ,来实现导航地图的功能 顾名思义, U阳API 是调用百度地图的Web 和WAP 地址进行访问.微信可以 通过超链接加自带的浏览器来调用百度地图.实用地图导航. 我们首先来看接口说明,选择左边栏"接口说明"的" Web 端",右侧的 "3.7 公交.驾车.步行导航" .如图7-21 所示. 手机微信客户端显示如图7-22