我正在尝试从 Excel VBA RESTfull API。我已经在 C# 中有一个工作版本:
//Request Auth Token
var client = new RestClient("https://api.xxx.com/exp/oauth2/v1/access_token_cors");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
request.AddParameter("application/x-www-form-urlencoded", "response_type=token&grant_type=client_credentials&client_id=1234&client_secret=1234&scope=", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
需要将此代码移植到 VBA。我写:
Set MyRequest = CreateObject("WinHttp.WinHttpRequest.5.1")
MyRequest.Open "POST", "https://api.xxx.com/exp/oauth2/v1/access_token_cors", False
MyRequest.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
PostData = """application/x-www-form-urlencoded"", ""response_type=token&grant_type=client_credentials&client_id=1234&client_secret=1234&scope="""
MyRequest.send (PostData)
当我运行 VBA 版本时,在 .Send 行出现错误“与服务器的连接异常终止”
由于它在 C# 中工作,它不可能是防火墙或服务器问题。我该怎么做才能让它工作?我搜索了类似的问题,但没有一个适用于我的情况。