Layanan Tables memungkinkan skrip untuk 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 Tables menggunakan objek, metode, dan parameter yang sama dengan API publik. Untuk informasi selengkapnya, lihat Cara tanda tangan metode ditentukan.
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])); }
Di bawah ini 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 tabel lainnya, beri nomor respons menggunakan parameter page_token
dan page_size
, yang ditunjukkan 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 tabel listingan adalah 100.
Dapatkan 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.
Pada URL di bagian atas, ID tabel berada tepat setelah /table/
.
Contoh di bawah ini menunjukkan tempat 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 kolomnya.
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 ini. Responsnya mencakup 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 maksimal 50 baris secara default. Untuk mengambil lebih banyak baris, beri nomor halaman
respons menggunakan parameter page_token
dan page_size
, yang ditunjukkan 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 halaman lainnya yang tersedia, responsnya 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 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
inginkan, gunakan parameter filter
. Untuk 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"]);
}
}
Responsnya mencakup baris dengan kolom 'Kontak' 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 dari key-value pair objek harus sama persis dengan judul kolom tabel yang peka huruf besar/kecil, kecuali jika jenis kolom yang dapat ditulis adalah kolom pencarian atau ringkasan. Anda menetapkan nilai untuk kolom pencarian dan ringkasan menggunakan nilai untuk hubungan. Anda harus memperbarui nilai untuk hubungan menggunakan nama hubungan yang ditemukan dalam dialog Relationships.
Nilai yang dapat diterima untuk suatu kolom bergantung pada tipe 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 | ||
Person | String (alamat email) |
String (harus cocok dengan pengguna Google) |
Lampiran file | Object[] { |
Kolom ini tidak dapat diubah dengan API. |
Lokasi | Object {
|
Object {
|
Entri multimedia | ||
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]"
|
Cari | Tergantung pada jenis kolom sumber. | Kolom ini tidak dapat diubah dan akan diperbarui dengan nilai tertaut. |
Ringkasan | Tergantung pada jenis kolom sumber dan fungsi ringkasan: Jumlah: Number Jumlah maksimum pada kolom Jenis tanggal: String Nilai Daftar: Array |
Kolom ini tidak dapat diubah. |
Kolom kalkulasi | ||
ID Otomatis | Number |
Kolom ini tidak dapat diubah. |
Metadata | ||
Kreator | String |
Kolom ini tidak dapat diubah. |
Waktu pembuatan | Object {
|
Kolom ini tidak dapat diubah. |
Updater | String |
Kolom ini tidak dapat diubah. |
Waktu pembaruan | Object { |
Kolom ini tidak dapat diubah. |
Layanan Tables melakukan upaya terbaik untuk mengonversi nilai yang diberikan agar sesuai dengan jenis kolom. Jika tidak cocok, nilai tidak akan ditetapkan dan dikosongkan 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 dari baris yang ada dalam tabel:
var rowName = "tables/Respons menampilkan baris yang diperbarui.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 Tables
- 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-nya terletak setelah
/row/
.
Contoh di bawah menunjukkan tempat 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 Tables. Untuk memulihkan baris yang dihapus, ikuti langkah-langkah berikut:
- Di komputer, buka aplikasi web Tables.
- Buka tabel tempat Anda ingin memulihkan 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