В настоящее время я пытаюсь получить информацию о настольных играх из BGG xml api. Поток примерно такой:
Пользователь вводит название настольной игры в качестве поиска ->
скрипт опрашивает API для игр, соответствующих этому имени, и возвращает результаты ->
Пользователь выбирает правильный результат ->
скрипт берет идентификатор настольной игры из выбранного результата и снова запрашивает API, используя идентификатор, который дает всю необходимую информацию.
Вот код, над которым я работаю:
var Name = "Betrayal at the house on the hill"
// Call BGG API with query to display options for selection
var response = UrlFetchApp.fetch("https://boardgamegeek.com/xmlapi/search?search="+Name)
// Parse the XML reply
var document = XmlService.parse(response);
var root = document.getRootElement();
Вот результат, полученный при поиске:
<boardgames termsofuse="[https://boardgamegeek.com/xmlapi/termsofuse](https://boardgamegeek.com/xmlapi/termsofuse)">
<boardgame objectid="238032">
<name primary="true">Betrayal at Baldur\'s Gate and House on the Hill Promo Cards</name>
<yearpublished>2017</yearpublished>
</boardgame>
<boardgame objectid="10547">
<name primary="true">Betrayal at House on the Hill</name>
<yearpublished>2004</yearpublished>
</boardgame>
<boardgame objectid="198452">
<name primary="true">Betrayal at House on the Hill: Widow\'s Walk</name>
<yearpublished>2016</yearpublished>
</boardgame>
</boardgames>\
Я могу справиться со всем остальным оттуда. Проблема, с которой я столкнулся, заключается в том, что идентификатор настольной игры заключен в тег xml <boardgame objectid="xxxxxx">
, и я не могу понять, как заставить скрипт получить доступ к этой информации. Я вижу идентификатор, когда смотрю на вывод в журналах, но не могу понять, как вытащить идентификатор в переменную. У меня практически нет опыта работы с XML, поэтому я уверен, что не могу понять что-то, что кажется довольно простым. Я использую скрипт приложений Google на листе Google (в основном, JavaScript).
Это сообщение, которое я нашел, которое помогло мне начать, но ему, похоже, не нужен идентификатор для его варианта использования. К сожалению, я делаю.
Любые мысли или предложения будут высоко оценены!