微信小程序如何调用百度api(以植物识别功能为例)

调用前准备

打开百度智能云官网,点击用户中心
点击用户中心
点击图像识别
创建自己的应用,这个应用是你需要使用API的应用
名称和描述都没有特殊要求,点击创建
名称和描述都没有特殊要求,点击创建
点击查看应用详情我们会看到百度给予的API Key和Serect Key,你能通过这两个Key获取token
点击查看应用详情我们会看到百度给予的API Key和Serect Key,你能通过这两个Key获取token

token的获取方法:百度鉴权认证机制

正式调用

编写调用api,并同时实现选取图片和识别的功能的函数

getToken(res) {           //获取账号权限
    wx.request({            //请求百度api接口
      url: 'https://aip.baidubce.com/oauth/2.0/token',
      data: {               //请求时传送我们的账号信息进行认证
        grant_type: 'client_credentials',
        client_id: '**************',//APIKey
        client_secret: '****************',//SecretKey
      },
      success(res) {
        console.log(res.data.access_token)
        let token = res.data.access_token   //保存token,代表你权限的信息
        //console.log('选择照片')
        wx.chooseImage({              //选取照片
          count: 1,
          sizeType: ['original', 'compressed'],
          sourseType: ['album', 'camera'],//本地或拍照选取
          success(res) {
            console.log(res)
            let url = res.tempFilePaths[0]		//获取图片地址
            wx.setStorageSync("res_imgurl", url);//缓存照片
            //图片转码为base64编码形式
            wx.getFileSystemManager().readFile({
              
              filePath: url,
              encoding: 'base64',
              success(res) {
                //console.log('上传照片成功准备转码')
                let base64 = res.data     //保存转码后数据

                //console.log('开始识别')
                wx.request({        //请求识花接口
                  url: 'https://aip.baidubce.com/rest/2.0/image-classify/v1/plant',
                  header: {
                    "Content-type": "application/x-www-form-urlencoded",//决定用哪种post请求,是固定的
                  },
                  method: 'post',   //请求固定为post请求
                  data: {           //请求时需要上传的数据
                    image: base64,	//图片编码数据
                    access_token: token,//获取的token权限
                    baike_num: 1	//想得到的百度百科数量
                  },
                  success: function (res) {
                    //console.log('识别成功跳转页面')
                    console.log(res.data.result)//控制台输出识别后得到的数据中的结果
                  }
                })
              }
            })
          }
        })
      }
    })
  },

调用结果

触发getToken函数得到以下结果
在这里插入图片描述

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值