here_to_learn
here_to_learn

Reputation: 477

Google Sheets API v4 to get all sheet names in a worksheet

I am using the javascript code as provided in the quickstart section of https://developers.google.com/sheets/quickstart/js

function listMajors() {
      	gapi.client.sheets.spreadsheets.values.get({
          spreadsheetId: '1b05r8p74UzLh_Hk8119stG8yEoU6Utsr1L238BwssWU',
          range: 'Class Data!A2:E',
        }).then(function(response) {
          var range = response.result;
          if (range.values.length > 0) {
            appendPre('Name, Major:');
            for (i = 0; i < range.values.length; i++) {
              var row = range.values[i];
              // Print columns A and E, which correspond to indices 0 and 4.
              appendPre(row[0] + ', ' + row[4]);
            }
          } else {
            appendPre('No data found.');
          }
        }, function(response) {
          appendPre('Error: ' + response.result.error.message);
        });
      }

gives me data in the specified range: Class Data!A2:E.

I now want to list all the sheets (like the one: Class Data) available in a spreadsheet. Please help.

Upvotes: 4

Views: 11901

Answers (2)

Ppp
Ppp

Reputation: 1015

I found it. This should work. I am using C# though. The javascript should be almost the same. For more info: spreadsheet get method information.

var ssRequest = service.Spreadsheets.Get(sheetId);
Spreadsheet ss = ssRequest.Execute();
List<string> sheetList = new List<string>();

foreach(Sheet sheet in ss.Sheets)
{
    sheetList.Add(sheet.Properties.Title);
}

Upvotes: 10

McDLT
McDLT

Reputation: 61

    gapi.client.sheets.spreadsheets.get({
        spreadsheetId: SPREADSHEET_ID
    }).then(function(response) {
        console.log(response.result.sheets)
    }, function(response) {
        console.log('Error: ' + response.result.error.message);
    });

Upvotes: 6

Related Questions