如何解决JSON发布可从VBA更新Trello自定义字段
我正在Excel中使用VBA和Tim Hall的惊人VBA-Tools,我几乎可以完成与trello相关的所有事情,创建名片,列表,评论等
最近几天让我感到沮丧的是,我无法在卡的自定义字段中输入值,我尝试了所有可以想到的事情
这是代码
Sub atualizaCustomField(listaNome As String,cardNome As String,idCF As String,valor As String)
Dim Client As New WebClient
Client.BaseUrl = "https://api.trello.com/1/"
Dim Request As New WebRequest
Request.ContentType = "application/json"
Request.Method = WebMethod.HttpPut
Request.Resource = "cards/{idCard}/customField/{idCustomField}/item"
Request.AddUrlSegment "idCard",pegaIDCard(listaNome,cardNome)
Request.AddUrlSegment "idCustomField",idCF
Request.AddQuerystringParam "key",ApplicationKey
Request.AddQuerystringParam "token",UserToken
Debug.Print Request.FormattedResource
Dim Response As WebResponse
'Set Response = Client.Execute(Request)
Set Response = Client.PostJson(Client.BaseUrl & Request.FormattedResource,valor)
Debug.Print valor
Debug.Print Response.StatusCode & ": " & Response.Content
End Sub
与此不同的是,您必须发布JSON而不是像其他所有请求一样简单地发出请求,必须与该示例匹配(来自trello开发者网站):
{
"value": {
"text": "<string>"
}
}
在我的代码中,变量“ valor”包含此字符串。
解决方法
我知道这是 9 个月前的事,但我遇到了同样的问题,并找到了可能对其他人有用的解决方案。
正如OP所说,“值”字段需要具有json格式并放置在请求正文中。这是通过将 Dictionary 类型传递给 .AddBodyParameter 方法来实现的。
Dim body as Object
Set body = New Dictionary
body.Add "text","<string>"
Request.AddBodyParameter "value",body
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。