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

Другие вопросы по тегам