2016-02-11 121 views
0

我正在尋找從Goodreads API檢索某本書的評論。我在API中相對較新。Goodreads API獲取評論

這裏是API文檔的鏈接:https://www.goodreads.com/api#book.show

我創造了這個基本的代碼,它打印出的成功,但沒有結果。數據:對象文檔。這裏是我的代碼:

$.get("https://www.goodreads.com/book/isbn?format=xml&key=d9xonLKxHDCI5HF1mHjbQ&isbn=9781843589501", function(data, status){ 
    alert("Data: " + data + "\nStatus: " + status); 
}); 

我缺少什麼能夠顯示結果? ap

+0

您可以通過將'format = xml'更改爲'format = json'來調整返回數據的格式。然後嘗試在控制檯中打印出來,而不是提醒它。另外'alert(「Data:」+ data +「\ nStatus:」+ status);'會輸出一個字符串。您應該使用'console.log(「Data:」,data,「Status:」,status);'輸出對象 –

+0

我想使用XML,使用JSON更加困難,我需要擁有可以使用的用戶ID似乎找不到,並瞭解如何使用OAuth。我寧願知道如何將XML數據轉換爲可讀的html格式@ MattO'Connell – MrKay

回答

0

返回的結果在XMLFormat中。你需要在你的客戶端有一些東西來讀取已退出的XML。看看下面的例子https://api.jquery.com/jQuery.parseXML/

+0

但我不知道xml對象中的標籤,因此很難顯示它@ user3509208 – MrKay

+0

查看示例鏈接。例如: $ title = $ xml.find(「title」); - 應該返回第一個值 使用類似下面的$(document).ready(function(){.ajax({「{」}}}}} GET「, url:」data.xml「,您的網址 dataType:」xml「, 成功:函數(xml){.xrse} .find('Table')。each(function(index) (this)。var provider = $(this).find('Provider')。text(); var channel = $(this).find('FeedCommonName')。text(); var hd = $(this)。 find'('FeedIsHD')。text(); $('。box ul')。append('

  • '+ channel +'
  • '); }); } }); }); – user3509208

    +0

    沒有工作@ user3509208 – MrKay

    0

    我使用所謂的外部庫:xml2js

    下面的代碼片段,以使返回的值,你會的對象。

    var parseString = require("xml2js").parseString; 
    
    
    request(options) 
    .then(function(data) { 
        var xml = data; 
    
        parseString(xml, { trim: true }, (err, result) => { 
        if (err) //do something 
        else //something else 
    

    因此,在這裏,您可以獲取數據,將其轉換爲JSON,然後您就可以採取相應的行動。雖然,意識到你在這裏有一個回調!