У Google есть сборка v4 API Google Sheets, но документация по этому вопросу все еще на v3. Нет полных примеров того, как реализовать простую аутентификацию OAuth с помощью Google Sheets API v4.
Я вижу руководство по миграции здесь и частичный пример здесь
Но полного примера нигде не найти.
«Текущая» версия - здесь , и в последний раз она обновлялась в октябре 2018 года без примера v4.
Допустим, что после того, как я авторизовал пользователя, я пытаюсь прочитать конкретную электронную таблицу в workbook2 и явно указываю, какие столбцы мне нужны. Затем я представляю эту информацию с помощью API визуализации Google.
Итак, вот как я это делаю в Google Sheets v3 legacy.
function makeApiCall() {
var queryString = encodeURIComponent('SELECT A,B,C,E,H');
var tqURL = new google.visualization.Query(
'https://docs.google.com/spreadsheets/d/*yourspreadsheetid*/gviz/tq?gid=*yourworkbookid*&headers=1&tqx=responseHandler:handleTqResponse' + '&access_token=' + encodeURIComponent(gapi.auth.getToken().access_token));
tqURL.send(handleTqResponse);
}
function handleTqResponse(resp) {
var dataTable = resp.getDataTable();
}
Для v4, если я последую этому частичному примеру здесь , как мне преобразовать tqURL в метод GET? и как я могу получить ответ (rsp) в виде DataTable ()?
function makeApiCall() {
var params = {
spreadsheetId: 'my-spreadsheet-id', // all clear here
//what about workbook gid?
// The ranges to retrieve from the spreadsheet.
ranges: [], // [A:A,B:B,C:C,E:E,H:H) ????
includeGridData: false,
//no need to include the access_token here?
};
var request = gapi.client.sheets.spreadsheets.get(params);
request.then(function(response) {
console.log(response.result);
//var dataTable = responce.getDataTable(); ??
}, function(reason) {
console.error('error: ' + reason.result.error.message);
});
}