以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  获取小程序码报错  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=172576)

--  作者:lxhmax
--  发布时间:2021/10/20 11:41:00
--  获取小程序码报错
官方说明https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/qr-code/wxacode.getUnlimited.html

请问下老师我用下方的代码获取小程序码报错,请问下需要怎么修改才能正确的获取到小程序码图片?

Dim AccessTocken = "50_WbGoWhqYWq1zzvE9bnJfWJpzenvHunazLF73rqj9Ec89lfYRECCpBGWSVw8HIXVkVG9DLDLHGY3AtJBWl5grYgOXEJjydRuvt9P2GLhXIawJgNLz69l6IWyKKDgLcsVFG4VPupT9Pea7W7rwHIWdAHAQRF"
Dim url As String = "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token={0}"
Dim hc As New HttpClient(Cexp(url,AccessTocken))
Dim jo As New JObject
jo("scene") ="id=123123"                     \'参数
\'jo("page") = "pages/web/web"                 \'必须是已经发布的小程序存在的页面(否则报错)
\'jo("width") = "1000"                         \'二维码的宽度,单位 px,最小 280px,最大 1280px
\'jo("auto_color") = "false"                   \'自动配置线条颜色,如果颜色依然是黑色,则说明不建议配置主色调,默认 false
\'jo("line_color") = "{\'r\':0,\'g\':0,\'b\':0}"     \'auto_color 为 false 时生效,使用 rgb 设置颜色 例如 {"r":"xxx","g":"xxx","b":"xxx"} 十进制表示
\'jo("is_hyaline") = "true"                    \'是否需要透明底色,为 true 时,生成透明底色的小程序
hc.Content = jo.ToString
jo = JObject.Parse(hc.GetData)
Output.Show(jo.ToString)

图片点击可在新窗口打开查看此主题相关图片如下:获取小程序码错误.png
图片点击可在新窗口打开查看



--  作者:有点蓝
--  发布时间:2021/10/20 12:18:00
--  
……
hc.Content = jo.ToString
dim ret as string = hc.GetData
msgbox(ret) 显示什么内容?
jo = JObject.Parse(ret)
Output.Show(jo.ToString)

--  作者:lxhmax
--  发布时间:2021/10/20 13:45:00
--  
显示的是这个????


图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20211020134439.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2021/10/20 13:47:40编辑过]

--  作者:有点蓝
--  发布时间:2021/10/20 13:49:00
--  
接口说明返回的是一个图片文件,试试GetFile:http://www.foxtable.com/mobilehelp/topics/0160.htm
--  作者:lxhmax
--  发布时间:2021/10/20 14:36:00
--  
能提示下载成功,但是这样下载的图片却是无效的,麻烦老师再看下

\'Dim AccessTocken = "50_XrtT7Xld1qSDgkFqPbXFvMGOiLen2LEclfO5CtCjOof2WvQI2ixbPfGfebymhZC8zq0ggpJhJXHdDW3R-RiWgutHR8fGAkyQYd48G7O7s6imtqm9C9Hw5naLRxizW0jRhiIhW9szi4wgJGEqVTJgAGAKIY"
Dim url As String = "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token={0}"
Dim hc As New HttpClient(Cexp(url,AccessTocken))
Dim jo As New JObject
jo("scene") ="id=123123"                     \'参数
jo("page") = "pages/web/web"                 \'必须是已经发布的小程序存在的页面(否则报错)
jo("width") = "1000"                         \'二维码的宽度,单位 px,最小 280px,最大 1280px
jo("auto_color") = "false"                   \'自动配置线条颜色,如果颜色依然是黑色,则说明不建议配置主色调,默认 false
jo("line_color") = "{\'r\':0,\'g\':0,\'b\':0}"     \'auto_color 为 false 时生效,使用 rgb 设置颜色 例如 {"r":"xxx","g":"xxx","b":"xxx"} 十进制表示
jo("is_hyaline") = "true"                    \'是否需要透明底色,为 true 时,生成透明底色的小程序
hc.Content = jo.ToString

If hc.GetFile("c:\\data\\123.jpg") Then
    MessageBox.show("文件下载成功","提示")
Else
    MessageBox.show("文件下载失败","提示")
End If


图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20211020143536.png
图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2021/10/20 14:47:00
--  
接口调用有问题,参考:http://www.foxtable.com/mobilehelp/topics/3276.htm

Dim AccessTocken = "50_XrtT7Xld1qSDgkFqPbXFvMGOiLen2LEclfO5CtCjOof2WvQI2ixbPfGfebymhZC8zq0ggpJhJXHdDW3R-RiWgutHR8fGAkyQYd48G7O7s6imtqm9C9Hw5naLRxizW0jRhiIhW9szi4wgJGEqVTJgAGAKIY"
Dim url As String = "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token={0}"
Dim hc As New HttpClient(Cexp(url,AccessTocken))
Dim jo As New JObject
jo("scene") ="id=123123"                     \'参数
jo("page") = "pages/web/web"                 \'必须是已经发布的小程序存在的页面(否则报错)
jo("width") = "1000"                         \'二维码的宽度,单位 px,最小 280px,最大 1280px
jo("auto_color") = "false"                   \'自动配置线条颜色,如果颜色依然是黑色,则说明不建议配置主色调,默认 false
jo("line_color") = "{\'r\':0,\'g\':0,\'b\':0}"     \'auto_color 为 false 时生效,使用 rgb 设置颜色 例如 {"r":"xxx","g":"xxx","b":"xxx"} 十进制表示
jo("is_hyaline") = "true"                    \'是否需要透明底色,为 true 时,生成透明底色的小程序
hc.Content = jo.ToString

Dim fl As String  = "d:\\123.jpg"
If hc.GetFile(fl) Then
    If hc.ResponseContentType.StartsWith("application/json") Then
        MessageBox.Show(Filesys.ReadAllText(fl))
        FileSys.DeleteFile(fl) \'删除文件
    Else
        MessageBox.Show("图片素材下载成功!")
    End If
Else
    MessageBox.Show("图片素材下载失败!")
End If


--  作者:lxhmax
--  发布时间:2021/10/20 15:15:00
--  
可以了,非常感谢老师