Skip to main content

snippets_js

Integration

New integration from credential
const googleSpreadsheetClient = await yepcode.integration.googleSpreadsheet("credential-slug");
New integration from plain authentication data
const { GoogleSpreadsheet } = require("google-spreadsheet");

const googleSpreadsheetServiceAccountJson = {
type: "service_account",
project_id: "yepcode",
private_key_id: "XXXXX",
private_key: \`-----BEGIN PRIVATE KEY-----\nx\n-----END PRIVATE KEY-----\`,
client_email: "yepcode@example.org",
client_id: "1234567890",
auth_uri: "https://example.org",
token_uri: "https://example.org",
auth_provider_x509_cert_url: "https://example.org",
client_x509_cert_url: "https://example.org",
};

const googleSpreadsheetClient = new GoogleSpreadsheet("spreadsheet-id");

await googleSpreadsheetClient.useServiceAccountAuth(googleSpreadsheetServiceAccountJson);

Load Document Properties and Worksheets

Load document
await googleSpreadsheetClient.loadInfo();
console.log(googleSpreadsheetClient.title);
const sheet = googleSpreadsheetClient.sheetsByTitle["sheetTitle"];
console.log(sheet.title);
console.log(sheet.rowCount);

Create New Sheet and Add Rows

Create new sheet and add rows
await googleSpreadsheetClient.loadInfo();
const sheet = await googleSpreadsheetClient.addSheet({ title: "sheetTitle", headerValues: ["columnName", "columnName"] });

await sheet.addRow({ "columnName": "value", "columnName": "value" });

Update and Remove Rows

Update and remove rows
await googleSpreadsheetClient.loadInfo();
const sheet = googleSpreadsheetClient.sheetsByTitle["sheetTitle"];
const rows = await sheet.getRows();

rows[1].columnName = newValue;
await rows[1].save();
await rows[2].delete();

Work with Cells

Work with cells
await googleSpreadsheetClient.loadInfo();
const sheet = googleSpreadsheetClient.sheetsByTitle["sheetTitle"];
await sheet.loadCells("A1:E10");
console.log(sheet.cellStats); // total cells, loaded, how many non-empty
const a2 = sheet.getCell(1, 0);
const a3 = sheet.getCellByA1("A3");

a2.value = newValue
a3.value = newValue
await sheet.saveUpdatedCells();