微信小程序获取用户信息的接口确实已经被封了,因此现在需要使用微信登录的方式进行用户身份验证和获取用户信息。在小程序中首先通过wxlogin()接口获取用户登录凭证code,然后在小程序后台配置开发者服务器地址和域名,在开发者服务器端使用code请求微信服务器获取openid和session_key等信息。之后就可以得到openid等用户信息并存储到开发者服务器端进行相关业务逻辑处理。同时需要注意需要在小程序中进行用户授权,以获取用户允许授权后的信息。
给button绑定冒泡事件,也就是我们说的点击事件
这里wxgetUserProfile方法可以从底部d框提示用户授权,success是用户确认授权回调方法,
可以consolelog(result)查看以下数据,可以在userInfo中获取用户的一些基本信息,例如头像,昵称。通过wxlogin()获取微信平台提供给我们的code(5分钟内有效,每次请求code都不一样),有了code我们就可以通过wxrequest()向后端发起请求了;
通过code和自己开发平台的appid和appSecret调用微信平台提供给我们的url获取openid和session_key,这里我们可以用file_get_contents()或者curl都可。
做小程序授权登录获取openid时遇到以下错误:
{"errcode":40029,"errmsg":"invalid code, hints: [ req_id: m3yw8a0472th20 ]"}
在网上搜了下,有两种说法:1、code被使用了两次;2、appid与secret不一致
看了一下自己的项目,这两个错误都不是,后来在另一篇博文里看到只需要重新创建项目就可以了,试了一下,还真是。
仔细想了一下原因,当一开始创建项目的时候使用的是之前的appid,后来自己又在appjs里设置appid,但是这里设置没起作用,所有会报这个错误。
var requestHandler = {
params: {},
api: '',
type: '',
success: function (res) {
},
fail: function () {
},
}
//GET请求
function GET(requestHandler) {
request('GET', requestHandler)
}
//POST请求
function POST(requestHandler) {
request('POST', requestHandler)
}
function request(method, requestHandler) {
//注意:可以对params加密等处理
var params = requestHandlerparams;
// paramstoken = wxgetStorageSync('token'); 这里可以写每次请求都必带的参数
var api = requestHandlerapi;
wxrequest({
url: API_URL + api,
data: params,
method: method,
header: {
'Content-Type': 'application/x->
以上就是关于微信小程序现在获取用户信息接口都封了,怎么用全部的内容,包括:微信小程序现在获取用户信息接口都封了,怎么用、微信小程序 授权登陆PHP tp5框架、微信小程序:40029错误(invalid code)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)