小程序如何访问未备案的 API
如果你想要请求一个没有备案,或者没有 HTTPS 证书的 API,可以借助云函数环境下不受任何限制的 HTTP 请求来获取到数据,并通过云函数的返回,返回给小程序端使用.
在开发小程序的时候,经常会用到一些第三方的 API。但是第三方的 API 往往会有各种各样的问题,比如:
- 没有HTTPS
- 没有备案
- 小程序不支持其中的一些方法
等等。但是,在业务中,我们又必须要使用这些接口,应该如何操作呢?
使用云开发中转
一个比较简单的方法,就是使用云开发来做中转。将有限制的小程序请求,转化为没有限制的云函数请求,就可以轻松实现未备案、无 HTTPS 接口的请求。
具体实现方式
在具体的实现时,主要有以下几个步骤:
- 创建用于中转的云函数
- 编写请求代码
- 上传并部署云函数
- 在小程序端请求云函数
API 介绍
假设我们要请求快递 100 的 API,来查询快递信息。由于其没有 HTTPS 证书,所以我们没有办法直接在小程序端查询。所以,我们建立了一个新的云函数 getKuaiDi 来查询快递信息。
我们要调用的 API 地址是 http://www.kuaidi100.com/query?type=快递公司代号&postid=快递单号
,我们只需要将这里的快递代号和单号替换,并发送一个 get 请求,就可以获取到下面这样的结果。
"message": "ok","nu": "11111111111","ischeck": "1","com": "yuantong","status": "200","condition": "F00","state": "3","data": [{"time": "2020-02-10 08:47:03","context": "查无结果","ftime": "2020-02-10 08:47:03"}]}
请求代码的创建
接下来来编写代码,首先,我们需要安装依赖,在云函数上右击,选择「在终端中打开」,执行命令安装 got
npm install --save got@9
安装完成后,我们开始编写代码。因为刚刚安装了 got ,我们在云函数中编写代码就简单许多。
`const got = require(‘got’)
// 云函数入口函数
exports.main = async (event, context) => {
const response = await got(http://www.kuaidi100.com/query?type=${event.type}&postid=${event.id}
)
return response.body
}`
这段代码中,通过 ES6 的新语法,拼接了 event 的参数,形成一个完成的 API 地址,并通过 got 请求了我们刚刚拼接好的 API。再将获取到的 Response 中的 Body 返回给小程序端。
小程序端的调用
上传部署云函数以后,我们可以在小程序端调用这个 API 以验证。在你的小程序端输入这样的代码
wx.cloud.callFunction({ name:"getKuaiDi",data:{"type": "yuantong","id":"11111111111"}}).then(console.log).catch(console.error)
你会看到这样的返回,则说明你的 API 接口正常工作。
{"message":"ok","nu":"11111111111","ischeck":"0","condition":"B00","com":"yuantong","status":"200","state":"1","data":[{"time":"2020-02-11 11:59:11","ftime":"2020-02-11 11:59:11","context":"揽收任务已分配给王国贤,配送员电话17767187183","location":""}]}
这样,你只需要在调用云函数的时候,通过 data 参数,传入快递公司,以及快递单号,就可以完成接口的查询了。
小程序如何访问未备案的 API相关推荐
- 微信小程序运用云函数调用新闻类API
微信小程序运用云函数调用新闻类API 微信小程序运用云函数调用新闻类API 新闻列表的编写 云函数的编写 JS方法 wxml页面编写 wxss样式 最终效果截图 微信小程序运用云函数调用新闻类API ...
- 12.通过微信小程序端访问企查查(采集工商信息)
12.通过微信小程序端访问企查查(采集工商信息) 需要注意的问题: 一.1.微信端访问企查查小程序需要登录.2.访问抓包获取的url是有时效性的过一段时间就不能用了. http://xcx.qicha ...
- 微信小程序学习Course 8 本地缓存API
微信小程序学习Course 8 本地缓存API 本篇随笔主要介绍微信小程序本地缓存API函数,微信小程序可以在本地缓存一些关键词数据,每一条关键词对应一段字符串.微信小程序提供了以下API函数. 8. ...
- 标题微信小程序提示页面未注册问题解决
标题微信小程序提示页面未注册问题解决 1.出现的问题 在WXML部分编译完成后页面可以正常显示样式,然而在.js文件编辑完成后进行编译时会出现如下错误提示: 2.出现的原因及解决方法 .JS文件中缺少 ...
- 今天突然发现,微信小程序手机访问正常,PC端访问小程序图片无法加载?
今天突然发现,微信小程序手机访问正常,PC端访问小程序图片无法加载? 所有图片在pc上查看都无法显示. 然后使用抓包工具抓包,pc端图片全部403,结果为 AccessDenied You are d ...
- 抖音小程序基础之 目前提供哪些API(教程含源码)
抖音小程序基础之 目前提供哪些API(教程含源码) 小程序开发框架提供丰富的 字节跳动宿主 原生 API,可以方便的调起 字节跳动宿主 提供的能力,如获取系统信息等.详细介绍请参考 API 文档. 通 ...
- 解决小程序开发:未找到 app.json 中的定义的 pages “pages/index/index“ 对应的 WXML 文件
解决小程序开发:未找到 app.json 中的定义的 pages "pages/index/index" 对应的 WXML 文件 (亲测,以解决)如果节约了你的宝贵时间,辛苦点个赞 ...
- 微信小程序无法访问豆瓣API, 豆瓣图书小程序示例
一.访问豆瓣API 官方API地址:图书 Api V2 按照API的示例,图书检索的URL为:https://api.douban.com/v2/book/search?q=检索信息&star ...
- 微信小程序如何访问带有Token安全认证的API
微信小程序访问Token安全验证的API接口 API //添加一个自定义过滤器 using Newtonsoft.Json; using System; using System.Collection ...
- 微信小程序之插件未授权访问
在使用微信同声传译插件时,出现插件未授权访问,这是由于没有在小程序后台添加该第三方插件所致. 在微信公众平台->设置->第三方服务->添加插件->'wx069ba97219f6 ...
最新文章
- JTAG与STC,DEBUGWIRE区别
- python 点的投影变换
- Selenium的简单操作
- 小心!智能合约再爆高危漏洞,两大加密货币直接变废纸!
- 消息队列之JMS和AMQP对比
- 【状压dp】AC Challenge
- 善用 CSS 中的 table-layout 屬性加快 Table 的顯示速度
- 《数据结构与算法分析:C语言描述》复习——第六章“排序”——插入排序
- 开启 TLS 1.3 加密协议,极速 HTTPS 体验
- codeforces 286E Ladies' Shop
- 高等数学常用符号大全及符号的含义
- 163个人邮箱注册申请流程,公司邮箱怎么注册?
- mysql视频怎么存_学习怎样把视频文件存储到mysql数据库
- 新版微信支持鸿蒙os,微信突然宣布!“新功能”全面爆发,鸿蒙OS措手不及
- 微信小程序---快速上手云开发
- VMware虚拟机安装win10系统教程(巨细)
- icp相关数学,向量模的平方转换成矩阵相乘
- 城市区域二手房信息python爬取、保存和初步分析—笔记
- 2019-11-11
- Android接入支付宝开发