Как отправить данные об исполнителе и названии в 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