关于微信开发工具无法使用wx.request()访问https://api.weixin.qq.com的解决方案

微信开发工具访问外部网络API可以通过微信公众平台配置域名,实现本地和真机调试

在这里插入图片描述
但是对于wx.request()访问https://api.weixin.qq.com则不适用,所以我们采用云函数来访问https://api.weixin.qq.com,以获取access_token为例,步骤如下:
1、新建云函数,我的当前环境为cloud1,在该文件下新建obtainAccess文件夹,详细的云函数搭建请自行搜索
在这里插入图片描述
2、obtainAccess文件夹中index.js中的内容如下

const cloud = require('wx-server-sdk')
var rp = require('request-promise'); //npm install  request-promise 先安装这个命令(cmd),详细步骤请自行搜索,通过这行代码可以访问https://api.weixin.qq.com
cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV
});
// 云函数入口函数
exports.main = async (event, context) => {
   const wxContext = cloud.getWXContext();
   var options = {
    uri:encodeURI('https://api.weixin.qq
wx.login是微信小程序提供的一个API,用于获取用户登录凭证(code)。通过调用wx.login接口,可以获取到用户的code,然后将code发送给开发者服务器,开发者服务器可以通过code换取用户的唯一标识openid和会话密钥session_key。 以下是wx.login的使用实例: 1. 在小程序的某个页面中,可以通过以下代码调用wx.login接口: ``` wx.login({ success: function(res) { if (res.code) { // 登录成功,获取到用户的code var code = res.code; // 将code发送给开发者服务器进行后续处理 // ... } else { console.log('登录失败!' + res.errMsg) } } }) ``` 2. 在开发者服务器中,可以通过接收到的code向微信服务器发送请求,换取用户的openid和session_key。以下是一个简单的Node.js示例: ```javascript const request = require('request'); // 将code发送给微信服务器进行换取openid和session_key function getOpenidAndSessionKey(code) { const url = `https://api.weixin.qq.com/sns/jscode2session?appid=YOUR_APPID&secret=YOUR_SECRET&js_code=${code}&grant_type=authorization_code`; request(url, function(error, response, body) { if (!error && response.statusCode == 200) { var data = JSON.parse(body); var openid = data.openid; var session_key = data.session_key; // 处理获取到的openid和session_key // ... } else { console.log('请求失败!' + error); } }); } // 在接收到小程序发送的code后调用getOpenidAndSessionKey函数 // ... ``` 以上就是wx.login的一个简单使用实例。通过调用wx.login接口获取用户的code,然后将code发送给开发者服务器进行后续处理,可以实现用户登录功能。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值