2016-04-02 12 views
0

Ausprobieren von Google Apps-Skript zum ersten Mal. Ich habe dieses Skript mit einem API-Schlüssel in einer Google-Tabelle erstellt und der URL-Variable im Skript hinzugefügt. Das Skript läuft ohne Fehler, aber ich kann nicht herausfinden, wie bestimmte Variablen in einzelnen Zellen angezeigt werden. Ich habe mir die Dokumentation angeschaut, bin aber noch nicht auf ähnliche Beispiele gestoßen.Google Tabellenkalkulation Anzeige von Werten aus Skript in mehreren Zellen

Wenn ich ISBNs in Spalte A habe, was würde ich in Spalte B einfügen, um den Titel anzuzeigen?

function getBookDetails(isbn) { 

// Query the book database by ISBN code. 
isbn = isbn || "9781451648546"; // Steve Jobs book 

var url = "https://www.googleapis.com/books/v1/volumes?key=myAPI&q=isbn:" + isbn; 

var response = UrlFetchApp.fetch(url); 
var results = JSON.parse(response); 

if (results.totalItems) { 

// There'll be only 1 book per ISBN 
var book = results.items[0]; 

var title = (book["volumeInfo"]["title"]); 
var subtitle = (book["volumeInfo"]["subtitle"]); 
var authors = (book["volumeInfo"]["authors"]); 
var printType = (book["volumeInfo"]["printType"]); 
var pageCount = (book["volumeInfo"]["pageCount"]); 
var publisher = (book["volumeInfo"]["publisher"]); 
var publishedDate = (book["volumeInfo"]["publishedDate"]); 
var webReaderLink = (book["accessInfo"]["webReaderLink"]); 
} 

} 

Antwort

0

ist das wonach Sie suchen?

var resultRow = [[isbn,title,subtitle,authors,printType,pageCount,publisher,publishedDate,webReaderLink]]; 
var sh = SpreadsheetApp.getActiveSheet(); 
sh.getRange(sh.getLastRow()+1,1,resultRow.length,resultRow[0].length).setValues(resultRow); 
+0

Ehrfürchtig Serge, das funktioniert! Es gab einen kleinen Tippfehler im Code gegen Ende. Ich habe steValues ​​in setValues ​​geändert. – dean2020

+0

oups ... thx ;-) –

+0

Ein Problem jedoch, es zeigt die Beispiel-isbn-Nummer im Skript, aber wenn ich eine ISBN-Nummer in A1 und put = getBookDetails (A1) in Zelle A2, bekomme ich einen Fehler: Sie Habe keine Erlaubnis, setValues ​​aufzurufen (Zeile 32). – dean2020

0
function getBookDetails(isbn) { 

// Query the book database by ISBN code. 

if (isbn !== "") { 

var url = "https://www.googleapis.com/books/v1/volumes?key=AIzaSyAsTRXP0Eqy0Q4mQ1A00xQWYVzcgHyBKiM&q=isbn:" + isbn; 

var response = UrlFetchApp.fetch(url); 
var results = JSON.parse(response); 

if (results.totalItems) { 

// There'll be only 1 book per ISBN 
var book = results.items[0]; 

var title = (book["volumeInfo"]["title"]); 
var subtitle = (book["volumeInfo"]["subtitle"]); 
var authors = (book["volumeInfo"]["authors"]); 
var printType = (book["volumeInfo"]["printType"]); 
var pageCount = (book["volumeInfo"]["pageCount"]); 
var publisher = (book["volumeInfo"]["publisher"]); 
var publishedDate = (book["volumeInfo"]["publishedDate"]); 
var webReaderLink = (book["accessInfo"]["webReaderLink"]); 

// For debugging 
Logger.log(book); 

} 
var resultRow = [[title,authors]]; 


return resultRow; 

// var sh = SpreadsheetApp.getActiveSheet(); 
// sh.getRange(sh.getLastRow()+1,1,resultRow.length,resultRow[0].length).setValues(resultRow); 
} 
} 
Verwandte Themen