我正在努力在 Deviant Art 上调用此 REST API。 here对此进行了描述。我对 REST API 不太熟悉,所以这可能是一个愚蠢的问题,但我无法弄清楚如何在这样的调用中编写字符串数组。
一开始我尝试过:
item1, item2, item3
但这似乎不起作用,所以我这样做了:
["item1", "item2", "item3"]
也没有用。其余 API 的描述如下。我正在尝试向
tags
提供元素。
POST,获取艺术家评论(字符串): 选修的 作者提供的有关提交内容的其他信息
POST、GET 标签(数组[字符串]): 选修的 描述提交的标签数组。仅限字母、数字和下划线。 分钟:1
我正在使用 Julia 编程语言,但我想这个问题是普遍的。这是我所做的摘录。在此示例中,我将 params.tags 转换为文本字符串。在原始版本中我只是直接传递数组,但这不起作用。
headers = []
data = convert_to_dict(params)
data["attachment"] = io
data["access_token"] = token.access_token
quoted_tags = map(tag->"\"$tag\"", params.tags)
tags_str = "[" * join(quoted_tags, ",") * "]"
data["tags"] = tags_str
body = HTTP.Form(data)
resp = HTTP.post(url, headers, body)
body = HTTP.payload(resp)
如果您不知道这个问题的答案,也许您可以给我一些关于如何调试这个问题的提示,或者去了解它应该是什么样子。
我很难弄清楚这一点,但实际上 VS Code 中的 Codepilot 给了我答案。由于不允许人工智能答案,我会用自己的话写出答案。
据我所知,对于如何传递数组数据没有一个单一的约定。相反,有多种样式。因此,如果
tags
是键,则可以设置为:
为了让它在 Julia 中工作,我编写了以下代码:
tags_dict = Dict("tags[$(i-1)]" => tag for (i, tag) in enumerate(params.tags))
data = merge(data, tags_dict)
delete!(data, "tags")