【微信公众号】验证用户OpenID是否关注某个公众号
1、获取OpenID
#region 获取微信支付的OpenId
/// <summary>
/// 获取微信支付的OpenId
/// </summary>
/// <returns></returns>
public string GetPayOpenID()
{
try
{
string code = Request.QueryString["code"];
if (string.IsNullOrEmpty(code))
{
string url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + Constant.WX_PAY_APPID +
"&redirect_uri=" + HttpUtility.UrlEncode(Request.Url.ToString()) +
"&response_type=code&scope=snsapi_base&state=123#wechat_redirect";
}
else
{
string url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=" + Constant.WX_PAY_APPID +
"&secret=" + Constant.WX_PAY_APPSECRET + "&code=" + code + "&grant_type=authorization_code";
string jsonResult = new System.Net.Http.HttpClient().GetStringAsync(url).Result;
JToken jtoken = JToken.Parse(jsonResult);
string openid = jtoken.Value<string>("openid");
return openid;
}
}
catch (Exception ex)
{
}
return "";
}
#endregion
2、获取Token
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=***&secret=***
响应结果:
{
"access_token":"O3PwqnKoiiYmsHeAh8viWLQyhGRrGU6RT9o53pvlmhIBWQnTXeZDSkYNw6YufzIDUspzQguvxtmLXtAWmQd2NmurXKa4N4PsbwG7RvI25pqzSC3-cLl50iqSW5VaZ4xmGXQgAFAJAT",
"expires_in":
}
3、使用Token和OpenID获取用户信息
https://api.weixin.qq.com/cgi-bin/user/info?access_token=***&openid=***&lang=zh_CN
响应结果:
{
"subscribe":,
"openid":"oeQDZt0n4VCZ70wy***",
"nickname":"背上***旅行",
"sex":,
"language":"zh_CN",
"city":"昌平",
"province":"北京",
"country":"中国",
"headimgurl":"http://wx.qlogo.cn/mmopen/kBwGJuwqK9**********************ibVUEpgFE90LH3b3uj7AYRjZP/0",
"subscribe_time":,
"unionid":"oGCG8t5**********jPQTPw",
"remark":"",
"groupid":,
"tagid_list":[
]
}
1=关注;0=未关注;
subscribe:用户是否订阅该公众号标识,值为0时,代表此用户没有关注该公众号,拉取不到其余信息。
没有关注的情况下,显示这个。。。
今天又遇到这个问题了
【微信公众号】验证用户OpenID是否关注某个公众号的更多相关文章
- ASP.NET Core2实现静默获取微信公众号的用户OpenId
最近在做个微信公众号的项目,需要将入口放置在公众号二级菜单内,通过点击该菜单链接后进入到该项目中去,进入到项目后程序会自动通过微信公众号的API完成用户的OpenId获取.需求很简单,实现起来也不复杂 ...
- 微信网页授权获取用户openid及用户信息
$code = $_GET["code"];//获取code $appid=“xxxx”;//公众号appid $APPSECRET="xxx";//公众号ap ...
- 微信网页授权+获取用户基本信息+强制关注+JSSDK分享参数
网页授权+获取用户基本信息+强制关注+JSSDK分享参数 //支付宝红包口令列表 public function view(){ $openid = ""; Vendor('Wei ...
- 微信公众号获取用户openId How to use cURL to get jSON data and decode the data?
w http://stackoverflow.com/questions/16700960/how-to-use-curl-to-get-json-data-and-decode-the-data
- java获取点击微信自定义菜单的用户openid
测试: 先上 请求类 HttpRequesto package reyo.sdk.utils.weixin; import java.io.BufferedReader; import java.io ...
- java 获取微信 页面授权 获取用户openid
先调用微信的地址 跳转https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx4b4009c4fce00e0c&redirect ...
- 微信小程序 获取用户openid
1,可以在小程序app.js入口文件中放入登录代码 wx.login({ success: res => { // 登录注册接口 if (res.code) { // 调用服务端登录接口,发送 ...
- 微信小程序获取用户openid,头像昵称信息,后台java代码
https://blog.csdn.net/qq_39851704/article/details/79025557
- 微信网页授权获取用户基本信息--PHP
现在就说说怎么通过网页授权获取用户基本信息(国家,省,市,昵称)等. 必要条件: 1)公众号认证 2)有网页授权获取用户基本信息的权限接口 注意:最近有朋友说:在公众平台申请的测试号,会出现无法取到用 ...
随机推荐
- web04--cookie
1.创建1.jsp <body> <form action="cookie/2.jsp" method="post"> 姓名:<i ...
- ZOJ2099
题意:给多个点,连成折线,求一个矩形可以包含这条折线. 输入: 多组测试数据 多个点的坐标 每组测试数据以0,0结束 以0,0结束程序 输出: 矩形左下角和右上角的坐标 思路:水题,注意输入那里有点坑 ...
- Mysql group_concat
select p.id,p.parent_id,group_concat(distinct(CONCAT("分类名称:",c.name)) order by c.id desc s ...
- linux查询当前进程数的命令
$command = "ps aux | grep 'zb_insure/get_order_info_from_queue.php' | grep -v 'grep' | grep - ...
- C++ 文本读写
写文件: ofstream of; of.open("test.txt"); string content = "abcd"; of.write(content ...
- vim 学习笔记
vim介绍:一款编辑器,另外一般linux系统会自带,所以一般linux下日志.配置文件等 纯文本文件的修改编辑等通过vim操作 学会的好处:1 方便操作linux下日志.配置文件等纯文本文件 2 功 ...
- 传输层-UDP
传输层构建在网络层之上,传输层提供端口到端口之间的通讯. 传输层通过端口号来标识一个端口,不同于网卡,端口是逻辑上的概念.传输层的端口为16个比特(bit)长度,即最多能表示65 536个端口,端口号 ...
- php获取mac用于网站绑定服务器
php获取mac用于网站绑定服务器 <?php class GetMacAddr{ var $return_array = array(); // 返回带有MAC地址的字串数组 var $mac ...
- Java学习笔记——实现一个简易记事本Notepad的编写
记事本功能介绍 1. 新建:记事本清空. 2. 打开:可打开笔记本上任意文本文件. 3. 保存:将文件保存至当前文件夹. 4. 另存为:将文件保存至任意位置. 5. 退出:退出时确 ...
- MySQL重置root用户密码的方法(转)
本教程适用于采用Win2003.WinXP操作系统的迅美VPS和云主机产品. 当管理员忘记MySQL密码怎么办?屡次输入密码,仍然提示错误,网站无法正常运行,数据库也无法管理,管理员束手无策. 网站程 ...