如何获取openid(如何获取openid 端口是多少)
大家好!今天让创意岭的小编来大家介绍下关于如何获取openid的问题,以下是小编对此问题的归纳整理,让我们一起来看看吧。
开始之前先推荐一个非常厉害的Ai人工智能工具,一键生成原创文章、方案、文案、工作计划、工作报告、论文、代码、作文、做题和对话答疑等等
只需要输入关键词,就能返回你想要的内容,越精准,写出的就越详细,有微信小程序端、在线网页版、PC客户端
如需咨询小红书相关业务请拨打175-8598-2043,或微信:1454722008
本文目录:
一、微信获取code及openid
wx.getUserProfile({
desc:'获取用户信息',
success(res) {
wx.login({
success(response) {
//获取到code
console.log(response.code)
/** 用appid,appsecret通过wx.request方法可获取openid **/
var appid = ' ';
var secret = ' ';
wx.request({
url: 'https://api.weixin.qq.com/sns/jscode2session?appid='+appid+'&secret='+secret+'&grant_type=authorization_code&js_code=' + loginCode.code,
header: {
'content-type': 'application/json'
},
success: function (response) {
console.log(response)
console.log(response.data.openid) //获取openid
}
})
}
})
}
})
二、H5页面静默授权获取微信openid
前几天和业务谈需求的时候提到了要在微信公众号里面做一个申请页面A。当时我对微信的了解还不是很多,只知道公众号上原来已经做了一个其他功能的页面B,B页面可以获取到客户微信的openid。
当时我们业务同事说只有B页面可以拿到openid,其他的页面都拿不到,所以这个正在谈的A页面入口要做在已有页面B上,然后通过B获取openid之后再传给A。我当时因为不懂也只能听他说,毕竟那个同事说的好像很确定的样子。
事后我仔细想了想,页面B也就是个普通的html呀,凭什么就B页面能获取客户的openid呢?肯定有方法的!于是我就上网搜了一下,最后成功获取了自己的openid,下面介绍下方法吧。
首先,你要有个微信公众号,并且要获得这个接口的权限
点修改之后,在功能设置的“网页授权域名”处添加可以获取微信openid的域名,也就是你自己公众号里面需要获取openid网页的域名。
做完上面这些之后,其实已经可以实现我们想要的效果了,这里因为我不是要做一个完整的功能,我只是想试验下html的页面怎么获取openid,所以过程比较简陋。
这里是微信官方的网页授权方法:
其实看起来微信的说明有那么一大段,但核心的内容也就那么一点点,总结下来就是:先拿到code,再用code去换取网页授权access_token。
因为重定向的url要urlEncode,所以这里我用另一个网站把我要访问的url转换了一下,网址如下:
在微信浏览器里面输入下面的url,appid、redirect_uri改成自己的,其他的都可以不用改。
静默授权:scope=snsapi_base
非静默授权:scope=snsapi_userinfo
一般在微信中是看不到url也没办法输入url的,所以这里我是用微信开发者工具调试的。
输入完静默授权的url后,url自动跳转成有code的,这个code只有5分钟有效期。
同样的,获取openid也就是在微信浏览器中执行一下下面这个url就可以了。appid,secret换成自己的,code用上面一步获取的,其他的都不用改。
运行完后的结果就显示在左边这个图里啦,你看,openid不就拿到了吗。
我没尝试非静默授权的,不过我想应该也差不多吧。这里也不是一套完整的方案告诉大家怎么把这个部署到前端和后端自动获取openid。我只是想分享一下我试验的经历。
三、如何获取查看用户的openid
获取用户OpenID
本步骤的作用:
通过输入在上一步获取的Access Token,得到对应用户身份的OpenID。
OpenID是此网站上或应用中唯一对应用户身份的标识,网站或应用可将此ID进行存储,便于用户下次登录时辨识其身份,或将其与用户在网站上或应用中的原有账号进行绑定。
本步骤在整个流程中的位置:
目录
上一步
1 请求地址
2 请求方法
3 请求参数
4 返回说明
5 错误码说明
下一步
上一步
请参见使用Implicit_Grant方式获取Access_Token
1 请求地址
移动应用:
WAP网站:
2 请求方法
GET
3 请求参数
请求参数请包含如下内容:
参数
是否必须
含义
access_token 必须 在Step1中获取到的access token。
4 返回说明
PC网站接入时,获取到用户OpenID,返回包如下:
callback( {"client_id":"YOUR_APPID","openid":"YOUR_OPENID"} );
WAP网站接入时,返回如下字符串:
client_id=100222222&openid=1704************************878C
openid是此网站上唯一对应用户身份的标识,网站可将此ID进行存储便于用户下次登录时辨识其身份,或将其与用户在网站上的原有账号进行绑定。
5 错误码说明
接口调用有错误时,会返回code和msg字段,以url参数对的形式返回,value部分会进行url编码(UTF-8)。
WAP网站接入时,错误码详细信息请参见:9000-9999:根据Access Token获得对应用户身份的openid时,发生错误。
下一步
OpenAPI调用说明
希望可以帮到您,谢谢!
四、微信网页如何获取当前访问用户的OpenID?
获取微信用户的openid的方法如下:
1、先回复一条图文消息,将用户的openid带在链接上,然后用户通过点击图文消息的链接打开最终的页面,这么做用户体验非常非常不好,
2、调用服务号的高级接口,可是我们大部分都是用订阅号,订阅号只能通过图文或文本消息打开网页,自己传用户的openid。
获取ID需要注意的问题:
1、发图文块的时候,要发两条信息,单条是可以被转发的,两条的话,用户就无法转发,只能删除了。避免用户将自己的OpenID泄露。
2、用户点击图文块的那张页面进去后,要隐藏右上角的分享图标。
3、要判断浏览器的UserAgent是否来自于MicroMessage。
4、如果目标页面需要分享,要构造一个Form表单,用POST的方式将OpenID传过去。
5、实际项目经验中,需要对传来的参数拼在一起,做一下SHA1签名认证。
6、服务器能用SSL,就尽量用SSL。
以上就是关于如何获取openid相关问题的回答。希望能帮到你,如有更多相关问题,您也可以联系我们的客服进行咨询,客服也会为您讲解更多精彩的知识和内容。
推荐阅读:
如何申报个人专利流程与费用(如何申报个人专利流程与费用明细)