如何从google book api url中检索数据?

时间:2016-08-24 05:09:31

标签: javascript html api google-api

我想在javascript中检索标题,来自https://www.googleapis.com/books/v1/volumes?q=isbn:9780439023528的作者,结果以HTML格式显示。

HTML:

<p id="demo"></p>

JAVASCRIPT:

    function getBookDetails(isbn) {
        isbn = "9780439023528"; 
        var url = "https://www.googleapis.com/books/v1/volumes?q=isbn:" + isbn;
        var response = UrlFetchApp.fetch(url);
        var results = JSON.parse(response);

       if (results.totalItems) {
           var book = results.items[0];
           var title = (book["volumeInfo"]["title"]);
           document.getElementById("demo").innerHTML = book; 
       }   
    }
});

1 个答案:

答案 0 :(得分:0)

UrlFetchApp类在客户端javascript中不可用,这正是您尝试做的事情。您只能在服务器端的Google Apps Script .gs文件中使用它。

但是,您可以使用XMLHttpRequest来解决问题。

function getBookDetails(isbn) {
    isbn = "9780439023528"; 
    var xmlhttp = new XMLHttpRequest();
    var url = "https://www.googleapis.com/books/v1/volumes?q=isbn:" + isbn;

    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            var x = JSON.parse(xmlhttp.responseText);
            callback(x);
        }
    };
    xmlhttp.open("GET", url, true);
    xmlhttp.send();
}
function callback(x) {
    //do things with your data here
    console.log(x);
}