Написать VB Script функцию для API JSON с Etsy.com
На англ.: VB Function read and parse Json from etsy.com API Call
Тех. Задание:
Дополнить существующую функцию VB Function ( смотрите ниже) , которая получает при вызове номер лота, по номеру лота выполняет запрос:
https://openapi.etsy.com/v2/listings/12345672?&api_key=ХХХХ
API Key пришлем.
в этом запросе 12345672 - id лота. Тоесть сначала получаем по номеру лота номер пользователя "user_id":5711158, а потом по номеру пользователя его логин по запросу:
https://openapi.etsy.com/v2/users/5711158?&api_key=ХХХХ
API Key пришлем.
Запрос возвращает следующую строчку (JSON):
{"count":1,"results":[{"user_id":5711158,"login_name":"jessjamesjake","creation_tsz":1282245371,"referred_by_user_id":null,"feedback_info":{"count":3396,"score":100}}],"params":{"user_id":"5711158"},"type":"User","pagination":{}}
Функция должна вернуть: "jessjamesjake"
Существующая функция уже ищет данные на евау. Вот код функции:
Function consumeWebService(ItemNumber)
Dim webServiceUrl, httpReq, node, myXmlDoc
webServiceUrl = "http://open.api.ebay.com/shopping?callname=GetMultipleItems&responseencoding=XML&appid=ХХХХХ&siteid=ХХХ&version=ХХХ&ItemID=" & ItemNumber & "&IncludeSelector=Details"
Set httpReq = Server.CreateObject("MSXML2.ServerXMLHTTP")
httpReq.Open "GET", webServiceUrl, False
httpReq.Send
Set myXmlDoc =Server.CreateObject("MSXML.DOMDocument")
myXmlDoc.load(httpReq.responseBody)
Set httpReq = Nothing
Set node = myXmlDoc.documentElement.selectSingleNode("//GetMultipleItemsResponse/Item/Seller/UserID")
dim cn,rs,SellerId
set cn=server.CreateObject("adodb.connection")
set rs=server.CreateObject("adodb.recordset")
cn.ConnectionString=Application("cnWesternBid_ConnectionString")
If Not node Is Nothing Then
SellerId=node.text
'update DB record
процедуры по обновлению базы данных
cn.Execute sql
Exit Function
Else
Теперь нужно добавить поиск на etsy.
Eсли же и на етси не найден SellerId, то
'update DB record
процедуры по обновлению базы данных, на данный номер лота нет продавца
cn.Execute sql
Exit Function
End If
response.Write(consumeWebService)
End Function