【发布时间】:2021-02-16 10:42:42
【问题描述】:
我当前的代码是
Option Explicit
Sub VBA_API_JSON_TEST()
'Declare variables
Dim xml_obj As MSXML2.XMLHTTP60
'Create a new Request Object
Set xml_obj = New MSXML2.XMLHTTP60
Dim base_url, param_header1, param_header2 As String
'Define URL Components
base_url = "https://..."
param_header1 = XMLHttpRequest.SetRequestHeader("key", "1")
param_header2 = XMLHttpRequest.SetRequestHeader("host", "abc.com")
我得到一个未使用 XMLHttpRequest 错误定义的变量。我以前没有使用过此代码,我不确定应该添加哪些附加代码,在其他示例中我没有看到附加代码。
'Combine all the different components into a single URL
api_url = base_url + param_header1 + param_header2
任何帮助表示赞赏
【问题讨论】:
-
应该是
xml_obj.SetRequestHeader("x-rapidapi-key", "1")你还没有声明或设置任何名为XMLHttpRequest的变量我也不认为SetRequestHeader返回任何东西,所以我不清楚你在尝试什么.如果您可以提供有关您想要做什么的更多信息(可能还有您的代码的其余部分),其他人可能会有建议。 -
有了这个,我只是想验证我的 API 访问权限。我有一个 API,我需要用 url 发送两个标头(密钥和主机)。不幸的是,网络上很少有 VBA 示例使用代码发送两个带有 url 的标头。我发现的罕见示例有 XMLHttp.... 代码,但我以前没有这样做过,我试图将其全部保存在一个带有 VBA 的 Excel 文件中。
-
URL 参数和标头是两个独立的东西 - 它们不相关,因此您需要根据 API 文档使用其中一个或另一个。
-
很遗憾没有用于 VBA 的文档
-
您不需要特定于 VBA 的文档 - 只要有任何东西告诉您需要发送什么,然后就可以了(GET/POST?在 URL 中还是作为标题?)
标签: excel vba xmlhttprequest