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

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

บริการพร็อพเพอร์ตี้ช่วยให้คุณจัดเก็บข้อมูลแบบง่ายในคู่คีย์-ค่าที่กําหนดขอบเขตเป็นสคริปต์ 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
  Logger.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
  Logger.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');
  Logger.log('values of units %s', units);
} catch (err) {
  // TODO (developer) - Handle exception
  Logger.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) {
    Logger.log('Key: %s, Value: %s', key, data[key]);
  }
} catch (err) {
  // TODO (developer) - Handle exception
  Logger.log('Failed with error %s', err.message);
}

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

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

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
  Logger.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
  Logger.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
  Logger.log('Failed with error %s', err.message);
}

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

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

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

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

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

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

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

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