唯一标识 微信小程序_获取微信用户唯一标识openid | 小程序

本文介绍了如何在微信小程序中获取用户唯一标识openid。首先,讲解了接口地址及请求参数,包括appid、secret和js_code。接着,阐述了客户端的实现步骤,包括调用wx.login获取code和通过wx.request发送给服务器。最后,详细说明了服务端php处理流程,利用curl发起请求获取openid。
摘要由CSDN通过智能技术生成

一、基础知识

☞ 接口地址

https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code

☞ 请求参数

appid:小程序的唯一标识

secret:小程序的app secret

js_code:用户的登录凭证code(使用wx.login({})可获取到)

grant_type:填写authorization_code

☞ 返回参数

expires_in:凭证有效时间,单位:秒

openid:用户唯一标识

session_key:会话密匙(考虑到应用安全,不应该在网络上传输session_key)

二、客户端原理

1、使用小程序登录接口wx.login({})获取用户的登录凭证code

2、使用小程序网络请求API wx.request({})将获取用户登录凭证(code)发送至服务器

示例

/**************************************

* config:小程序配置文件

* loginUrl:服务器地址

* code:返回参数,用户登录凭证

* wx.login({}):登录接口

* wx.request({}):网络请求API

*

* 日期:2017-1-1

**************************************/

var CONGIF=require('config');

var OBJ_APP_DATA={};

OBJ_APP_DATA['onLaunch']=function(){

wx.login({

success: (res)=>{

wx.request({

url:CONGIF.loginUrl,

data: {

code:res.code

},

method: 'GET',

success: (res)=>{

console.log(res.data)

},

})

}

})

}

App(OBJ_APP_DATA);

三、服务端php原理

1、使用isset()函数检测客户端是否有传递code参数

示例

if(isset($_GET['code'])){}

2、使用 curl_init()函数初始化一个CURL会话,初始化成功后返回一个句柄供curl_setopt(), curl_exec(),和 curl_close() 函数使用

示例

$curl = curl_init();

3、使用curl_setopt()设置要获取的URL地址

示例

$url='https://api.weixin.qq.com/sns/jscode2session?appid='.$appid.'&secret='.$secret.'&js_code='.$code.'&grant_type=authorization_code';

curl_setopt($curl, CURLOPT_URL, $url);

4、设置是否输出header

示例

curl_setopt($curl, CURLOPT_HEADER, 1);

5、设置是否输出结果

示例

curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

6、设置是否输出结果

示例

curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

7、设置是否检查服务器端的证书

示例

curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);

8、使用curl_exec()将CURL返回的结果转换成正常数据并保存到一个变量

示例

$data = curl_exec($curl);

9、使用 curl_close() 关闭CURL会话

示例

curl_close($curl);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值