Я новичок, и ваша помощь была потрясающей! У меня проблема с запросом GET для проверки подлинности SSO в сценарии Excel Visual Basic. API говорит, чтобы отправить запрос GET на:Ошибка запроса VBA GET, плохой формат?
Где значения для siteID, enterpriseGUID, authToken и timezoneOffset все были получены на основании предыдущих запросов GET, которые работали хорошо. Когда я посылаю запрос окончательного GET для маркеров безопасности, он возвращает:
{ «Деталь»: «SSOSiteLogin failed.Input строка не была в правильном формате.»}
Вот мой соответствующий код:
Dim hreq As New WinHttpRequest
Dim response As String
Dim URL As String
'get security token
URL = "https://services.example.com/API/Security.svc/SSOSiteLogin/siteID/enterpriseGUID/" & authToken & "/null"
hreq.Open "GET", URL, False
hreq.Send
response = hreq.ResponseText
Range("A13") = response
В код вводятся переменные siteID и enterpriseGUID, а authToken хранится с более раннего запроса POST. Последнее значение, timezoneOffset, задается как «null» из более раннего запроса, поэтому я набираю «/ null» в конце, но я обеспокоен тем, что вызывает неправильный ответ формата. Все остальное просто возвращает общую ошибку с сервера.
Любые идеи? Заранее спасибо!
Вы определенно не хотите, чтобы буквальная строка «null». Сначала я попробую оставить его в качестве косой черты ... Больше ничего – dbmitch
Редактировать таймаут. Оставьте конечную косую черту. Если это не удаляет завершающую косую черту. Также вы должны перепроверить свой звонок, чтобы получить смещение часового пояса. Это звучит подозрительно, что он возвращает null – dbmitch
К конечной косой черту вы имеете в виду просто оканчивать ее как «//»? Я пробовал это, "/", "/" и Null, и никто из них не работает. Они просто возвращают ошибку из схемы, ссылаясь на неправильный метод. Только добавление текста после «/» возвращает ошибку, опубликованную выше. Я думал, что ответ с ошибкой ранее был нечетным, но он исходит из того же POST, который дает authToken, а в руководстве API пример говорит: «timezoneOffset:« null »тоже. Это просто странно. –