Я пытаюсь вызвать веб-сервис на основе отдыха из маркетингового облака Salesforce (которое я могу легко вызвать с помощью мыльного интерфейса пользователя) из VBA одним нажатием кнопки
однако я не получаю ответ, как ожидалось. я не могу отлаживать на стороне Salesforce, так как у меня нет доступа к маркетинговым облачным серверам
Private Sub cmd_connect_Click()
Dim clientSecret As String
Dim clientId As String
Dim TenentId As String
Dim objRequest As Object
Dim strUrl As String
Dim blnAsync As Boolean
Dim strResponse As String
Dim ReqBody As String
clientId = Worksheets("01Configure").txt_clientId.Value
clientSecret = Worksheets("01Configure").txt_clientSecret.Value
TenentId = Worksheets("01Configure").txt_TenentId.Value
strUrl = "https://" + TenentId + ".auth.marketingcloudapis.com" + "/v1/requestToken"
ReqBody = "{" & Chr(34) & "clientId" & Chr(34) & ":" & Chr(34) & "" + clientId + "" & Chr(34) & "," & Chr(34) & "clientSecret" & Chr(34) & ":" & Chr(34) & "" + clientSecret + "" & Chr(34) & "}"
MsgBox ReqBody
Set objRequest = CreateObject("MSXML2.XMLHTTP")
MsgBox strUrl
blnAsync = True
With objRequest
.Open "POST", strUrl, blnAsync
.SetRequestHeader "Content-Type", "application/json"
.Send ReqBody
'spin wheels whilst waiting for response
While objRequest.readyState <> 4
DoEvents
Wend
strResponse = .ResponseText
End With
MsgBox strResponse
End Sub
Я ожидаю ответа типа:
{
"accessToken": "Zp0JAhnyvWBBsS23e79Yp0CB",
"expiresIn": 3479
}