Как отправить данные об исполнителе и названии в TuneIn API

Я пытаюсь использовать этот скрипт для отправки данных об исполнителе и названии в TuneIn Radio в соответствии с их API, где я заблудился в этой точке:

Dim o
Set o = CreateObject("MSXML2.XMLHTTP")
o.open "GET", "http://air.radiotime.com/Playing.ashx?partnerId=<ID>&partnerKey=<key>&id=<station>&title=blank&artist=blank", False
o.send

Проблема, с которой я сталкиваюсь, заключается в том, что заранее созданные переменные как таковые

Function HandleLine(sLine)
  divisao = (sline)
  divisao = split(divisao,"-")

  SongInfo.Value("artist") = (Trim(divisao(0)))
  SongInfo.Value("title") = (Trim(divisao(1)))
  SongInfo.Value("songtype") = "S"

  SongInfo.DoSongChange
End Function

Я хочу иметь возможность взять эти переменные и использовать их в строке URL Send выше для отправки в API... Кто-нибудь знает, как сделать это возможным?

Если нет, то файл первоначально читается как текстовый файл на удаленном ПК, и если переменные могут быть созданы, я мог бы пойти туда тоже.

1 ответ

Ваш вопрос все еще не очень понятен для меня, но при условии, что вы хотите заполнить параметры URL title а также artist со значениями из вашего SongInfo объект вы могли бы сделать следующее:

url = "http://air.radiotime.com/Playing.ashx" & _
      "?partnerId=<ID>&partnerKey=<key>&id=<station>" & _
      "&title=" & Replace(SongInfo.Value("title"), " ", "+") & _
      "&artist=" & Replace(SongInfo.Value("artist"), " ", "+")

Set o = CreateObject("MSXML2.XMLHTTP")
o.open "GET", url, False
o.send

В зависимости от того, какие символы значения для artist а также title содержать вам может понадобиться сначала закодировать их:

Function Encode(ByVal str)
  Set re = New RegExp
  re.Pattern = "[^a-zA-Z0-9_.~-]"

  enc = ""
  For i = 1 To Len(str)
    c = Mid(str, i, 1)
    If re.Test(c) Then c = "%" & Right("0" & Hex(Asc(c)), 2)
    enc = enc & c
  Next

  Encode = enc
End Function
Другие вопросы по тегам