2016-02-15 6 views
0

Blizzard просто выключил свой старый API и внес изменения, поэтому вам нужен апики. Я изменил URL-адрес на новый api и добавил ключ API. Я знаю, что URL-адрес действителен.JSON.parse, возвращающий неопределенный объект

var toonJSON = UrlFetchApp.fetch("eu.api.battle.net/wow/character/"+toonRealm+"/"+toonName+"?fields=items,statistics,progression,talents,audit&apikey="+apiKey, {muteHttpExceptions: true}) 
var toon = JSON.parse(toonJSON.getContentText()) 

JSON.pase возвращает только пустого объект

return toon.toSorce() // retuned ({}) 

Я использовал много времени, чтобы увидеть, если я мог бы найти проблему. вышли пустым. Думайте, что это имеет какое-то отношение к «заголовкам ответов».

Быстродействие заголовки: http://pastebin.com/t30giRK1 (я получил их от dev.battle.net (метели апи сайт) JSON: http://pastebin.com/CPam4syG

ответ

0

Я думаю, что это код, который вы используете я смог разобрать его по. открытие необработанного адреса вашего Pastebin JSON http://pastebin.com/raw/CPam4syG И используя следующий код

var text = document.getElementsByTagName('pre')[0].innerHTML; 
var parse = JSON.parse(text); 

Так сделать вывод я думаю, что это UrlFetchApp.fetch, что это возвращение {}

+0

Есть ли у вас какие-либо идеи, как получить UrlFetchApp.fetch работать ?. Я также пришел к выводу, что это действительный JSON. –

+0

Извините, я не знаком с этой библиотекой – Napoleon

0

Так я нашел проблемы:

  1. мне нужно https: // в URL, так как я нашел через несколько часов, что я имел ошибку SSL
  2. Если вы просто использовать ToString вместо getContentText он работает. Thow почему getContentText не работает, я не уверен.
0

была та же проблема, что это работает для меня (не забудьте вставить ключ)

var toonJSON = UrlFetchApp.fetch("https://eu.api.battle.net/wow/character/"+toonRealm+"/"+toonName+"?fields=items%2Cstatistics%2Cprogression%2Caudit&locale=en_GB&apikey= ... ")