android获取微信小程序圆形二维码记录.(kotlin语言)

首先贴上微信的开发api地址: https://www.w3cschool.cn/weixinapp/weixinapp-api-qrcode.html

第一步是按照api要求获取access_token.然后用这个access_token获取小程序圆形二维码的数据流.微信这里比较变态,直接把图片的流信息给返回回来了!

 

 

1.获取   access_token    (注:appid secret在微信开发平台自己看,一般项目分享有集成的话就能在项目中看到)

https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=wx000000000000&secret=a679d4a00000000000000000

2获取圆形二维码

https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token= ****

http请求注意事项(参数不支持表单模式):

val mOkHttpClient = OkHttpClient()
val json = MediaType.parse("application/json; charset=utf-8")

//参数不支持表单模式,直接以json字符串的形式传递
val jsonString: String = "{\"width\":430,\"path\":\"pages/livie/liveRoom\",\"scene\":\"pages\"}"
val requestBody = RequestBody.create(json, jsonString)

//这里需要把access_token直接拼接在url后面,post中放入上面json字符串参数requestBody
val request = Request.Builder().url("https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=$access_token")
.post(requestBody).build()

val call = mOkHttpClient.newCall(request)
call.enqueue(object : Callback {
    override fun onFailure(call: Call, e: IOException) {
      Log.e("请求失败")
    }

    @Throws(IOException::class)
    override fun onResponse(call: Call, response: Response) {
        //获取返回的数据流,直接转换位Drawable对象.imageview加载图片需要指定在主线程!
        val inputStream = response.body()?.byteStream()
        val fromStream = Drawable.createFromStream(inputStream, "wechatqrcode")
        runOnUiThread { iv_wx_code.setImageDrawable(fromStream) }
    }
})
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值