以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]移动开发指南帮助  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=132633)

--  作者:无限5180
--  发布时间:2019/3/26 12:06:00
--  [求助]移动开发指南帮助
老师《foxtable移动开发指南》中的关于微信永久素材,在公众号的帮助中,找不到“删除永久素材”的帮助,请老师指点一下。
--  作者:有点甜
--  发布时间:2019/3/26 13:30:00
--  

为什么没有?

 

https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1444738731

 


--  作者:无限5180
--  发布时间:2019/3/26 15:09:00
--  
Dim tb As Table = e.Form.Controls("table1").Table
tb.DataSource = DataTables("Materials")

Dim dr As DataRow = tb.DataTable.find("编号 = \'" & bh & "\' ")   
If dr IsNot Nothing Then
    
    Dim url As String = "https://api.weixin.qq.com/cgi-bin/material/del_material?access_token=\'{0}\'&media_id=\'{1}\'"
    Dim med As String  = dr("mediaID")
    Dim hc As new HttpClient(CExp(url, Functions.Execute("GetAccessToken"),med))

    Dim jo As JObject = JObject.Parse( hc.getdata)
    If jo("errcode") = "0" Then
        messagebox.show("微信服务器已删除")
    Else
        messagebox.show("微信返回错误:" & jo.ToString)
        Return
    End If
End if

返回错误:
{

  "errcode": 40001,

  "errmsg": "invalid credential, access_token is invalid or not latest hint: [4bdjjA0243vr29!]"

}

但:GetAccessToken没有问题呀,因为上传图片时能执行GetAccessToken



--  作者:有点甜
--  发布时间:2019/3/26 15:14:00
--  

贴出你【GetAccessToken】函数的代码。

 

或者修改成这样测试一下 http://www.foxtable.com/mobilehelp/scr/0178.htm

 


--  作者:无限5180
--  发布时间:2019/3/26 15:30:00
--  
命令窗口:
Dim st As String = Functions.Execute("GetAccessToken")
output.show("GetAccessToken:" & st)
执行结果:
GetAccessToken:19_2a0zygmLD4NVOE80Y09j8ipgNili8aWuNsE3Wtbuku9IfPjmOqvAx58Q0KU4pxRophlBkkDGUNH5C-PrAqlBaeWYPN77U5VyPsJ2OTlplZKXQMWdEp97MAROjkOcyg3Va3UhP0mE9CAxkwQmFVWgACAWMN

测试没有问题,但用在删除就有问题
[此贴子已经被作者于2019/3/26 15:34:58编辑过]

--  作者:有点甜
--  发布时间:2019/3/26 16:16:00
--  

请这样调用

 

 

    Dim url As String = "https://api.weixin.qq.com/cgi-bin/material/del_material?access_token={0}&media_id={1}"

 

或者

 

Dim tb As Table = e.Form.Controls("table1").Table
tb.DataSource = DataTables("Materials")


Dim dr As DataRow = tb.DataTable.find("编号 = \'" & bh & "\' ")
If dr IsNot Nothing Then
   
    Dim url As String = "https://api.weixin.qq.com/cgi-bin/material/del_material?access_token={0}"
    Dim med As String  = dr("mediaID")
    Dim hc As new HttpClient(CExp(url, Functions.Execute("GetAccessToken")))
   
    Dim jo As New JObject
    jo("media_id") = med
   
    hc.Content = jo.ToString
    jo = JObject.Parse( hc.getdata
)
    If jo("errcode") = "0" Then
        messagebox.show("微信服务器已删除")
    Else
        messagebox.show("微信返回错误:" & jo.ToString)
        Return
    End If
End If


--  作者:无限5180
--  发布时间:2019/3/26 18:01:00
--  
谢谢老师,原因找到了,是我把CExp函数的变量加了单引号造成的错误。