Layanan Tables memungkinkan skrip membaca dan mengedit baris secara terprogram dalam Google Tables.
Referensi
Untuk informasi selengkapnya tentang layanan ini, lihat dokumentasi untuk Tables API. Seperti semua layanan lanjutan di Apps Script, layanan Tabel menggunakan objek, metode, dan parameter yang sama dengan API publik. Untuk mengetahui informasi selengkapnya, lihat Cara menentukan tanda tangan metode.
Untuk melaporkan masalah dan menemukan dukungan lainnya, lihat Panduan dukungan tabel.
Kode contoh
Mendapatkan daftar tabel
Contoh berikut menunjukkan cara mendapatkan daftar semua tabel yang dimiliki pengguna.
// Get list of tables the user owns var response = Area120Tables.Tables.list(); if (response) { var tables = response.tables; Logger.log(JSON.stringify(tables[0])); }
Berikut adalah contoh respons, yang mencakup informasi tentang tabel dan definisi kolom tabel:
{
“tables”: [
{
"name": "tables/b6prMlkWyekbsCFeX6IOdu",
"displayName": "Applicants"
"columns": [
{"id": "9qVCMvgh", "name": "Name", "dataType": "text"},
{"id": "aD8dDXAS", "name": "Email", "dataType": "text"},
{"id": "9pc0kdNX", "name": "Experience", "dataType": "tags_list",
"labels": [
{"id": "aAqi235Q", "name": "Android"},
{"id": "bULZ4OK3", "name": "iOS"},
],
},
{"id": "8abYfCyo", "name": "Home Address", "dataType": "location"},
{"id": "8ccERJ2v", "name": "Doc", "dataType": "file_attachment_list"},
{"id": "aFb-tXf1", "name": "Stage", "dataType": "dropdown",
"labels": [
{"id": "8Hcb-Pxe", "name": "Applied"},
{"id": "aM3EDGFf", "name": "Phone Screen"},
{"id": "abyFLVKU", "name": "Onsite Interview"},
],
},
{"id": "9yKUThTi", "name": "Recruiter", "dataType": "person_list"},
{"id": "a5c9WPVA", "name": "Interview Date", "dataType": "date"},
{"id": "bqtbYPtH", "name": "Created", "dataType": "create_timestamp"},
{"id": "bWR08pBv", "name": "Updated", "dataType": "update_timestamp"}
]
},
... // more tables
]
}
Respons menyertakan hingga 20 tabel secara default. Untuk mengambil lebih banyak tabel,
buat penomoran halaman respons menggunakan parameter page_token
dan page_size
, yang ditampilkan
di bawah:
// Paginate through a list of tables var pageSize = 1000; var pageToken; var response = Area120Tables.Tables.list({page_size: pageSize}); while (response) { var tables = response.tables; // get next page of tables pageToken = response.nextPageToken; if (!pageToken) { response = undefined; } else { response = Area120Tables.Tables.list(tableRequest, {page_size: pageSize, page_token: pageToken}); } }
Nilai maksimum parameter page_size
untuk mencantumkan tabel adalah 100.
Mendapatkan informasi tabel dan definisi kolom
Contoh berikut menunjukkan cara mendapatkan informasi tabel dan definisi kolom tertentu.
var tableID = "TABLE_ID
"; // ID for the table
var tableName = "tables/" + tableID;
var response = Area120Tables.Tables.get(tableName);
Logger.log(JSON.stringify(response));
Menemukan ID tabel
Untuk menemukan ID tabel, buka tabel di
aplikasi web Tables.
Di URL di bagian atas, ID tabel berada tepat setelah /table/
.
Contoh di bawah menunjukkan tempat untuk menemukan ID tabel di berbagai URL Tabel:
https://tables.area120.google.com/u/0/workspace/abcdefghijklmnop/table/TABLE_ID
https://tables.area120.google.com/u/0/table/TABLE_ID
https://tables.area120.google.com/u/0/table/TABLE_ID
/view/abcedfghijk
Membaca baris tabel
Contoh berikut menunjukkan cara mendapatkan daftar baris tabel dan membaca nilai kolom.
var tableID = "TABLE_ID
"; // ID for the table
var pageToken;
var pageSize = 1000;
var tableName = "tables/" + tableID;
var response = Area120Tables.Tables.Rows.list(tableName)
if (response) {
for (var i = 0, rows = response.rows; i < rows.length; i++) {
if (!rows[i].values) { // If blank row, keep going
Logger.log("Empty row");
continue;
}
Logger.log(rows[i].values);
Logger.log(rows[i].values["Description"]);
}
}
Contoh respons ditampilkan di bawah. Responsnya menyertakan daftar baris dalam tabel dan nilai untuk setiap kolom.
{
“rows”: [
{
"name": "tables/TABLE_ID
/rows/a6tvEPska7l8rAlHlSdOLb",
"values": {
"Thing to do": "First item", // Text
"Size": 100, // Number
"ETA":{"month":12,"day":3,"year":2021} // Date
"Stage": "Completed", // Dropdown
"Checklist": [ // Checklist
"Do this",
"then this"
],
"Labels": [ // Tags
"Green",
"Purple"
],
"Address": { // Location
"latitude": 40.740726470947266,
"longitude": -74.00206756591797,
"address": "3014 Watson Lane, Sattler, TX 78130, USA"
},
"Archive?": true, // Checkbox
"ID#": 1, // Auto ID
"Row creator": "liz@gmail.com", // Creator / Updater / Person
"Last updated": "October 7, 2020 6:30:38 PM EDT",
"Created on": "March 2, 2020 1:07:54 PM EST",
}
},
... // More rows
],
}
Respons menyertakan hingga 50 baris secara default. Untuk mengambil lebih banyak baris, buat penomoran halaman
respons menggunakan parameter page_token
dan page_size
, yang ditampilkan di bawah:
var pageToken; var pageSize = 1000; var response = Area120Tables.Tables.Rows.list(tableName, {page_size: pageSize}); while (response) { var rows = response.rows; // read next page of rows pageToken = response.nextPageToken; if (!pageToken) { response = undefined; } else { response = Area120Tables.Tables.Rows.list(tableName, {page_size: pageSize, page_token: pageToken}); } }
Jika ada lebih banyak halaman yang tersedia, respons akan menawarkan nextPageToken
.
Jika tidak, respons tidak ditentukan. Untuk mengambil halaman hasil berikutnya, teruskan
nextPageToken
ke panggilan daftar berikutnya.
Nilai maksimum parameter page_size
adalah 1.000.
Mendapatkan satu baris dari tabel
Contoh berikut menunjukkan cara membaca nilai kolom dari satu baris dari tabel.
var tableID = "TABLE_ID
"; // ID for the table var tableName = "tables/" + tableID; var rowID = "ROW_ID
"; // ID for the row to fetch var rowName = tableName + "/rows/" + rowID; // Construct row name var response = Area120Tables.Tables.Rows.get(rowName) if (response) { Logger.log(response.values); }
Memfilter daftar baris
Untuk memfilter daftar baris agar hanya mendapatkan hasil yang Anda
minati, gunakan parameter filter
. Untuk mengetahui detail selengkapnya tentang sintaksis dan
jenis kolom yang didukung oleh filter, lihat
dokumentasi API pemfilteran.
var tableID = "TABLE_ID
"; // ID for the table
var pageToken;
var pageSize = 1000;
var tableName = "tables/" + tableID;
var response = Area120Tables.Tables.Rows.list(tableName, {filter:"values.\"Point of Contact\"=\"john.doe@gmail.com\""})
if (response) {
for (var i = 0, rows = response.rows; i < rows.length; i++) {
if (!rows[i].values) { // If blank row, keep going
Logger.log("Empty row");
continue;
}
Logger.log(rows[i].values);
Logger.log(rows[i].values["Description"]);
}
}
Respons menyertakan baris dengan kolom 'Point of Contact' yang ditetapkan ke 'john.doe@gmail.com'
{
“rows”: [
{
"name": "tables/TABLE_ID
/rows/a6tvEPska7l8rAlHlSdOLb",
"values": {
"Thing to do": "Second item", // Text
"Size": 110, // Number
"ETA":{"month":12,"day":3,"year":2021} // Date
"Stage": "Completed", // Dropdown
"Checklist": [ // Checklist
"Do this",
"then this",
"finally this"
],
"Labels": [ // Tags
"Green",
"Orange"
],
"Address": { // Location
"latitude": 45.740726470947266,
"longitude": -88.00206756591797,
"address": "6027 Holmes Lane, Sattler, TX 78130, USA"
},
"Archive?": false, // Checkbox
"ID#": 2, // Auto ID
"Point of Contact": "john.doe@gmail.com", // Person
"Last updated": "October 9, 2020 6:35:38 PM EDT",
"Created on": "March 10, 2020 1:07:54 PM EST",
}
},
... // More rows
],
}
Membuat baris dalam tabel
Contoh berikut menunjukkan cara menambahkan baris ke tabel.
var tableID = "TABLE_ID
"; // ID for the table
var tableName = "tables/" + tableID;
var values = {
"Number Column": 100,
"Text Column 2": "hello world",
"Date Column 3": new Date(),
"Dropdown Col.": "Dropdown value",
};
Area120Tables.Tables.Rows.create({values: values}, tableName);
Saat Anda menentukan nilai yang akan ditetapkan untuk baris baru, kunci pasangan nilai kunci objek harus sama persis dengan judul kolom tabel yang peka huruf besar/kecil, kecuali jika jenis kolom yang dapat ditulis adalah kolom lookup atau summary. Anda menetapkan nilai untuk kolom lookup dan summary menggunakan nilai untuk hubungan. Anda harus memperbarui nilai untuk hubungan menggunakan nama hubungan yang ditemukan di dialog Relationships.
Nilai yang dapat diterima untuk kolom bergantung pada jenis data kolom:
Jenis kolom | Jenis data (baca) | Jenis input yang dapat diterima (tulis) |
---|---|---|
Data standar | ||
Teks | String |
String |
Number | Number |
Number |
Date | Date
|
Date , String (dalam sebagian besar format tanggal) |
Data lengkap | ||
Orang | String (alamat email) |
String (harus cocok dengan pengguna Google) |
Lampiran file | Object[] { |
Kolom ini tidak dapat diubah dengan API. |
Lokasi | Object {
|
Object {
|
Entri lengkap | ||
Drop-down | String |
String (harus cocok dengan opsi dropdown) |
Tag | String[] (array opsi tag)
|
String[] (harus cocok dengan opsi tag) |
Kotak centang | Boolean |
Boolean |
Checklist | String[] (array item daftar) |
String[] (harus cocok dengan item daftar) |
Data tertaut | ||
Hubungan | String |
String: "tables/[LINKED_TABLE_ID]/rows/[LINKED_ROW_ID]"
|
Lookup | Bergantung pada jenis kolom sumber. | Kolom ini tidak dapat diubah dan akan diperbarui dengan nilai tertaut. |
Ringkasan | Bergantung pada jenis kolom sumber dan fungsi ringkasan: Jumlah: Number Maks pada kolom jenis Tanggal: String Nilai Daftar: Array |
Kolom ini tidak dapat diubah. |
Kolom kalkulasi | ||
ID Otomatis | Number |
Kolom ini tidak dapat diubah. |
Metadata | ||
Pembuat | String |
Kolom ini tidak dapat diubah. |
Waktu pembuatan | Object {
|
Kolom ini tidak dapat diubah. |
Updater | String |
Kolom ini tidak dapat diubah. |
Waktu update | Object { |
Kolom ini tidak dapat diubah. |
Layanan Tables melakukan upaya terbaik untuk mengonversi nilai tertentu agar cocok dengan jenis kolom. Jika data tidak cocok, nilai tidak akan ditetapkan dan akan dibiarkan kosong untuk baris baru.
Menambahkan beberapa baris ke tabel
Contoh berikut menunjukkan cara menambahkan beberapa baris ke tabel secara bersamaan.
var tableID = “TABLE_ID
”;
var tableName = "tables/" + tableID;
Area120Tables.Tables.Rows.batchCreate({requests: [
{row:{values:{"Col 1":"Sample", "Col 2":"One", "Col 3":"A"}}},
{row:{values:{"Col 1":"Example", "Col 2":"Two", "Col 3":"B"}}},
{row:{values:{"Col 1":"Test", "Col 2":"Three", "Col 3":"C"}}},
]}, tableName)
Memperbarui baris dalam tabel
Contoh berikut menunjukkan cara memperbarui nilai baris yang ada dalam tabel:
var rowName = "tables/TABLE_ID
/rows/ROW_ID
"; var values = {"Column": "HELLO"}; var response = Area120Tables.Tables.Rows.patch({values: values}, rowName); Logger.log("Update row:" + JSON.stringify(response));
Menemukan ID baris
Anda dapat menemukan ID untuk baris dengan dua cara:
Mendapatkan ID baris dengan API
Saat membaca baris dari tabel, Anda dapat menggunakan atribut name
untuk setiap baris, yang mencakup ID tabel dan baris.
Mendapatkan ID baris dari UI Tabel
- Buka tabel di aplikasi web Tables.
- Klik kanan baris.
- Klik Dapatkan link ke baris ini.
- Tempelkan URL di suatu tempat agar Anda dapat menyalin ID.
- Dalam URL, ID berada setelah
/row/
.
Contoh di bawah menunjukkan tempat untuk menemukan ID baris di URL:
https://tables.area120.google.com/table/TABLE_ID
/row/ROW_ID
Memperbarui beberapa baris dalam tabel
Contoh berikut menunjukkan cara memperbarui nilai beberapa baris dalam tabel:
var tableID = “TABLE_ID
”; var tableName = "tables/" + tableID; var requests = [ {row: {name: "tables/TABLE_ID
/rows/ROW_ID_1
", values: {"Column": "WORLD"}}}, {row: {name: "tables/TABLE_ID
/rows/ROW_ID_2
", values: {"Column": "WORLD"}}}, {row: {name: "tables/TABLE_ID
/rows/ROW_ID_3
", values: {"Column": "WORLD"}}}, ]; var response = Area120Tables.Tables.Rows.batchUpdate({requests: requests}, tableName); Logger.log("Batch update rows:" + JSON.stringify(response));
Menghapus baris dalam tabel
Contoh berikut menunjukkan cara menghapus satu baris dari tabel:
var rowName = "tables/TABLE_ID
/rows/ROW_ID
"; var response = Area120Tables.Tables.Rows.remove(rowName); Logger.log("Delete row:" + JSON.stringify(response));
Menghapus beberapa baris dalam tabel
Contoh berikut menunjukkan cara menghapus beberapa baris dalam tabel:
var tableID = “TABLE_ID
”; var tableName = "tables/" + tableID; var rowNames = [ "tables/TABLE_ID
/rows/ROW_ID_1
", "tables/TABLE_ID
/rows/ROW_ID_2
", "tables/TABLE_ID
/rows/ROW_ID_3
", ]; Area120Tables.Tables.Rows.batchDelete({names: rowNames}, tableName);
Memulihkan baris yang dihapus
Anda dapat memulihkan baris yang dihapus dari UI Tabel. Untuk memulihkan baris yang dihapus, ikuti langkah-langkah di bawah:
- Di komputer, buka aplikasi web Tables.
- Buka tabel yang ingin Anda pulihkan barisnya.
- Di bagian atas, klik Tampilkan baris dan kolom yang dihapus .
- Klik Baris yang dihapus.
- Di sebelah kanan baris yang ingin dipulihkan, klik Pulihkan dari sampah .
Mendapatkan daftar ruang kerja
Contoh berikut menunjukkan cara mendapatkan daftar semua ruang kerja yang dimiliki pengguna.
// Get list of workspaces the user owns and lists the tables in each one: var response = Area120Tables.Workspaces.list(); if (response) { var workspaces = response.workspaces; for (var workspace of workspaces){ Logger.log(workspace.displayName); for (var table of workspace.tables) { Logger.log('Table: ' + table); } } }
Berikut adalah contoh log output:
My Workspace Table: Table 1 Table: Table 2 My TODOs Table: Tasks