微信公众号获取openid、开放接口调用流程操作指南

1、主要步骤

(1)需要先进行微信 OAuth 2.0 授权,获取code

https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=snsapi_base&state=STATE

appid: 公众号的appID, 用于唯一标识公众号或小程序
redirect_uri: 用户授权成功后,微信会将用户重定向到这个 URI,并附上授权码(code)或其他信息
response_type:code 表示期望的响应类型。在 OAuth 2.0 流程中,通常使用 code 来请求授权码
scope:snsapi_base 授权范围。snsapi_base 表示用户授权后,公众号或小程序可以获取用户的基础信息,但不包括用户的私有信息。
state:STATE 开发者定义的参数,用于在授权请求中添加额外的业务参数。这些参数会在授权回调时原样返回给开发者。

`注意redirect_url需要 UrlEncode编码处理,推荐网址http://www.jsons.cn/urlencode

(2)调用网站获取用户在此公众号下的唯一标识 openid

https://api.weixin.qq.com/sns/oauth2/access_token?appid=AppId&secret=AppSecret&code=CODE&grant_type=authorization_code

appid: 公众号的appID, 用于唯一标识公众号或小程序
secret: 你的微信公众号或小程序的 AppSecret,用于生成签名和调用接口
code: 上一个接口返回的授权码,可通过code将客户信息发送给授权网址
grant_type:authorization_code 授权类型,此处为 authorization_code,表示使用授权码模式

2、环境准备

(1)注册微信公众号测试平台账号

https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login 微信测试号

image.png

(2)设置js接口安全域名,设置后开发者可在该域名下调用开放接口

image.png

(3) 扫码关注测试公众号,关注成功后账号会在右侧显示

image.png

(4)下载微信开发者工具

image.png

3、操作验证获取openid

https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html

(1)获取code

首先测试号需要设置网页授权获取用户信息 ,设置后微信的授权数据才能传给第三方页面

image.png

image.png

(2)在微信开发者工具中请求这个地址

image.png

请求后地址栏携带了code

在这里插入图片描述

(3)获取openid (现在可以不用在微信开发者工具中请求了)

image.png

4、其他微信开放接口的调用

(1)获取access_token

简介:
access_token是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用access_token。开发者需要进行妥善保存。access_token的存储至少要保留512个字符空间。access_token的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的access_token失效。

接口:
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

结果:

image.png

(2)获取微信服务器地址

https://api.weixin.qq.com/cgi-bin/get_api_domain_ip?access_token=ACCESS_TOKEN

结果:

image.png

(3)给用户发送模板消息
a 配置消息模板

image.png

image.png

b 获取模板列表

https://api.weixin.qq.com/cgi-bin/template/get_all_private_template?access_token=ACCESS_TOKEN

image.png

返回结果说明

参数是否必填说明
access_token接口调用凭证
template_id模板ID
title模板标题
primary_industry模板所属行业的一级行业
deputy_industry模板所属行业的二级行业
content模板内容
example模板示
c 向用户发送消息

http请求方式: POST https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN

image.png

返回参数说明:

参数是否必填说明
touser接收者openid
template_id模板ID
url模板跳转链接(海外账号没有跳转能力)
miniprogram跳小程序所需数据,不需跳小程序可不用传该数据
appid所需跳转到的小程序appid(该小程序appid必须与发模板消息的公众号是绑定关联关系,暂不支持小游戏)
pagepath所需跳转到小程序的具体页面路径,支持带参数,(示例index?foo=bar),要求该小程序已发布,暂不支持小游戏
data模板数据
client_msg_id防重入id。对于同一个openid + client_msg_id, 只发送一条消息,10分钟有效,超过10分钟不保证效果。若无防重入需求,可不填

结果:

手机成功收到公众号发送的消息
image.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值