บริการอสังหาริมทรัพย์

บริการพร็อพเพอร์ตี้ช่วยให้คุณจัดเก็บข้อมูลง่ายๆ ในคู่คีย์-ค่าที่มีขอบเขตเป็นสคริปต์ 1 รายการ ผู้ใช้สคริปต์ 1 คน หรือเอกสาร 1 รายการที่ใช้ส่วนเสริม โดยปกติแล้วจะใช้เพื่อจัดเก็บการกำหนดค่าของนักพัฒนาแอปหรือค่ากำหนดของผู้ใช้ ระบบจะไม่แชร์พร็อพเพอร์ตี้ระหว่างสคริปต์

หากต้องการดูโควต้ารายวันและขีดจำกัดพื้นที่เก็บข้อมูลสำหรับบริการพร็อพเพอร์ตี้ โปรดดูหัวข้อโควต้าสำหรับบริการของ Google

การเปรียบเทียบร้านค้าพร็อพเพอร์ตี้

ออบเจ็กต์ส่วนกลาง PropertiesService มี 3 วิธี ซึ่งแต่ละวิธีจะแสดงผลออบเจ็กต์ Properties ที่คล้ายกันแต่มีสิทธิ์เข้าถึงต่างกัน ดังที่แสดงในตารางต่อไปนี้

คุณสมบัติของสคริปต์ พร็อพเพอร์ตี้ผู้ใช้ คุณสมบัติของเอกสาร
วิธีการเข้าถึง getScriptProperties() getUserProperties() getDocumentProperties()
ข้อมูลที่แชร์ระหว่าง ผู้ใช้สคริปต์ ส่วนเสริม หรือเว็บแอปทั้งหมด ผู้ใช้ปัจจุบันของสคริปต์ ส่วนเสริม หรือเว็บแอป ผู้ใช้ทั้งหมดของส่วนเสริมในเอกสารที่เปิดอยู่
มักใช้สำหรับ ข้อมูลการกําหนดค่าทั่วทั้งแอป เช่น ชื่อผู้ใช้และรหัสผ่านสําหรับฐานข้อมูลภายนอกของนักพัฒนาแอป การตั้งค่าเฉพาะผู้ใช้ เช่น หน่วยวัดแบบเมตริกหรืออิมพีเรียล ข้อมูลเฉพาะเอกสาร เช่น URL แหล่งที่มาของแผนภูมิที่ฝัง

รูปแบบข้อมูล

บริการพร็อพเพอร์ตี้จะจัดเก็บข้อมูลทั้งหมดเป็นสตริงในคู่คีย์-ค่า ระบบจะแปลงประเภทข้อมูลที่ไม่ใช่สตริงเป็นสตริงโดยอัตโนมัติ ซึ่งรวมถึงเมธอดที่อยู่ในออบเจ็กต์ที่บันทึกไว้

การประหยัดอินเทอร์เน็ต

หากต้องการบันทึกค่าเดี่ยว ให้เรียกใช้เมธอด Properties.setProperty(key, value) ของร้านค้าที่เหมาะสม ดังที่แสดงในตัวอย่างต่อไปนี้

service/propertyService.gs
try {   // Set a property in each of the three property stores.   const scriptProperties = PropertiesService.getScriptProperties();   const userProperties = PropertiesService.getUserProperties();   const documentProperties = PropertiesService.getDocumentProperties();    scriptProperties.setProperty('SERVER_URL', 'http://www.example.com/');   userProperties.setProperty('DISPLAY_UNITS', 'metric');   documentProperties.setProperty('SOURCE_DATA_ID',       '1j3GgabZvXUF177W0Zs_2v--H6SPCQb4pmZ6HsTZYT5k'); } catch (err) {   // TODO (developer) - Handle exception   console.log('Failed with error %s', err.message); }

หากต้องการบันทึกข้อมูลหลายรายการพร้อมกัน ให้ส่งแผนที่เป็นคู่คีย์-ค่าไปยัง Properties.setProperties(properties) ระบบจะจัดเก็บคู่คีย์-ค่าแต่ละคู่ของออบเจ็กต์ในพารามิเตอร์เป็นพร็อพเพอร์ตี้แยกต่างหาก ดังนี้

service/propertyService.gs
try {   // Set multiple script properties in one call.   const scriptProperties = PropertiesService.getScriptProperties();   scriptProperties.setProperties({     'cow': 'moo',     'sheep': 'baa',     'chicken': 'cluck'   }); } catch (err) {   // TODO (developer) - Handle exception   console.log('Failed with error %s', err.message); }

การอ่านข้อมูล

หากต้องการเรียกข้อมูลค่าเดียวที่คุณบันทึกไว้ก่อนหน้านี้ ให้เรียกใช้ Properties.getProperty(key) ดังนี้

service/propertyService.gs
try {   // Get the value for the user property 'DISPLAY_UNITS'.   const userProperties = PropertiesService.getUserProperties();   const units = userProperties.getProperty('DISPLAY_UNITS');   console.log('values of units %s', units); } catch (err) {   // TODO (developer) - Handle exception   console.log('Failed with error %s', err.message); }

หากต้องการดึงค่าทั้งหมดในร้านค้าพร็อพเพอร์ตี้ปัจจุบัน ให้เรียกใช้ Properties.getProperties() ดังนี้

service/propertyService.gs
try {   // Get multiple script properties in one call, then log them all.   const scriptProperties = PropertiesService.getScriptProperties();   const data = scriptProperties.getProperties();   for (const key in data) {     console.log('Key: %s, Value: %s', key, data[key]);   } } catch (err) {   // TODO (developer) - Handle exception   console.log('Failed with error %s', err.message); }

การแก้ไขข้อมูล

เมธอด getProperty() และ getProperties() จะแสดงสำเนาข้อมูลที่จัดเก็บไว้ ไม่ใช่มุมมองแบบเรียลไทม์ ดังนั้นการเปลี่ยนแปลงออบเจ็กต์ที่แสดงผลจะไม่อัปเดตค่าในที่เก็บพร็อพเพอร์ตี้ หากต้องการอัปเดตข้อมูลใน Store ให้บันทึกอีกครั้งโดยทำดังนี้

service/propertyService.gs
try {   // Change the unit type in the user property 'DISPLAY_UNITS'.   const userProperties = PropertiesService.getUserProperties();   let units = userProperties.getProperty('DISPLAY_UNITS');   units = 'imperial'; // Only changes local value, not stored value.   userProperties.setProperty('DISPLAY_UNITS', units); // Updates stored value. } catch (err) {   // TODO (developer) - Handle exception   console.log('Failed with error %s', err.message); }

การลบข้อมูล

หากต้องการลบค่าเดียว ให้เรียกใช้ Properties.deleteProperty(key) ดังนี้

service/propertyService.gs
try {   // Delete the user property 'DISPLAY_UNITS'.   const userProperties = PropertiesService.getUserProperties();   userProperties.deleteProperty('DISPLAY_UNITS'); } catch (err) {   // TODO (developer) - Handle exception   console.log('Failed with error %s', err.message); }

หากต้องการลบพร็อพเพอร์ตี้ทั้งหมดในร้านค้าปัจจุบัน ให้เรียกใช้ Properties.deleteAllProperties() ดังนี้

service/propertyService.gs
try {   // Get user properties in the current script.   const userProperties = PropertiesService.getUserProperties();   // Delete all user properties in the current script.   userProperties.deleteAllProperties(); } catch (err) {   // TODO (developer) - Handle exception   console.log('Failed with error %s', err.message); }

จัดการพร็อพเพอร์ตี้สคริปต์ด้วยตนเอง

คุณสามารถเพิ่มพร็อพเพอร์ตี้ที่กำหนดเองได้สูงสุด 50 รายการด้วยตนเองในรูปแบบสตริงในคู่คีย์-ค่าจากหน้าการตั้งค่าโปรเจ็กต์ หากต้องการเพิ่มพร็อพเพอร์ตี้มากกว่า 50 รายการ คุณต้องเพิ่มพร็อพเพอร์ตี้แบบเป็นโปรแกรมโดยใช้วิธีการที่อธิบายไว้ด้านบนในส่วนการบันทึกข้อมูล เมื่อตั้งค่าพร็อพเพอร์ตี้สคริปต์จากหน้าการตั้งค่าโปรเจ็กต์ คุณจะอ้างอิงตัวแปรสคริปต์ไม่ได้

เพิ่มพร็อพเพอร์ตี้ของสคริปต์

  1. เปิดโปรเจ็กต์ Apps Script
  2. คลิกการตั้งค่าโปรเจ็กต์ ไอคอนการตั้งค่าโปรเจ็กต์ ทางด้านซ้าย
  3. หากต้องการเพิ่มพร็อพเพอร์ตี้แรก ให้คลิกเพิ่มพร็อพเพอร์ตี้สคริปต์ในส่วนพร็อพเพอร์ตี้สคริปต์
  4. หากต้องการเพิ่มพร็อพเพอร์ตี้ที่ 2 และพร็อพเพอร์ตี้ต่อๆ ไป ให้คลิกแก้ไขพร็อพเพอร์ตี้สคริปต์ > เพิ่มพร็อพเพอร์ตี้สคริปต์ในส่วนพร็อพเพอร์ตี้สคริปต์
  5. ในส่วนพร็อพเพอร์ตี้ ให้ป้อนชื่อคีย์
  6. สําหรับค่า ให้ป้อนค่าสําหรับคีย์
  7. (ไม่บังคับ) หากต้องการเพิ่มพร็อพเพอร์ตี้ ให้คลิกเพิ่มพร็อพเพอร์ตี้ของสคริปต์
  8. คลิกบันทึกพร็อพเพอร์ตี้ของสคริปต์

แก้ไขพร็อพเพอร์ตี้ของสคริปต์

  1. เปิดโปรเจ็กต์ Apps Script
  2. คลิกการตั้งค่าโปรเจ็กต์ ไอคอนการตั้งค่าโปรเจ็กต์ ทางด้านซ้าย
  3. ในส่วนพร็อพเพอร์ตี้สคริปต์ ให้คลิกแก้ไขพร็อพเพอร์ตี้สคริปต์
  4. ทำการเปลี่ยนแปลงชื่อคีย์และค่าคีย์สำหรับพร็อพเพอร์ตี้แต่ละรายการที่ต้องการเปลี่ยน
  5. คลิกบันทึกพร็อพเพอร์ตี้ของสคริปต์

ลบพร็อพเพอร์ตี้ของสคริปต์

  1. เปิดโปรเจ็กต์ Apps Script
  2. คลิกการตั้งค่าโปรเจ็กต์ ไอคอนการตั้งค่าโปรเจ็กต์ ทางด้านซ้าย
  3. ในส่วนพร็อพเพอร์ตี้สคริปต์ ให้คลิกแก้ไขพร็อพเพอร์ตี้สคริปต์
  4. คลิกนำออก ข้างพร็อพเพอร์ตี้ที่ต้องการลบ
  5. คลิกบันทึกพร็อพเพอร์ตี้ของสคริปต์