vba run time error '- 2146697208 800c0008)': загрузка указанного ресурса не удалась телеграмма
Обратитесь за помощью в решении указанной ниже проблемы, меня бьют два дня,
ошибка времени выполнения vba '- 2146697208 (800c0008)': загрузка указанного ресурса не удалась
Это мой код для справки:
Sub telebot15status155555()
'Program Excel Messeger
' Purpose : Send Message to Telegram
' Author : John Eswin Nizar
' Date : 09 October 2017
Dim objRequest As Object
Dim strChatId As String
Dim strMessage1 As String
Dim strMessage2 As String
Dim strPostData As String
Dim strResponse As String
strChatId = "@messstatus"
strMessage1 = ""
strMessage2 = Now()
'strMessage = "hallo"
strPostData = "chat_id=" & strChatId & "&text=" & strMessage1 & strMessage2
Set objRequest = CreateObject("MSXML2.XMLHTTP")
With objRequest
.Open "POST", "https://api.telegram.org/sendMessage?", False
.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
.send (strPostData)
GetSessionId = .responseText
MsgBox GetSessionId
End With
End Sub
1 ответ
Мой совет - выполнить этот вызов API в Chrome с открытым DevTools. Или перейдите на страницу, где это происходит, и найдите Запрос на вкладке "Сеть". Тогда посмотрите на заголовки.
debug.print strPostData возвращает:
chat_id=@messstatus&text=2/7/2020 9:40:23 AM
Этот формат не выглядит правильным для API с кодированием формы. Вам нужно увидеть, что веб-сайт на самом деле отправляет и получает в DevTools, чтобы воспроизвести это.
IOW, ресурс не найден, потому что API неправильно отформатирован. Из базового api похоже, что это тоже QueryString, потому что он заканчивается на? что может означать, что вам нужно URL-кодировать формат данных POST в QueryString для основного HTTP-запроса. Посмотрите здесь: Параметры передачи в HTTP-запросе VBA