Dịch vụ thuộc tính

Dịch vụ cơ sở lưu trú giúp bạn lưu trữ dữ liệu đơn giản trong các cặp khoá-giá trị trong phạm vi một tập lệnh, một người dùng của một tập lệnh, hoặc một tài liệu có sử dụng tiện ích bổ sung. Đó là thường được dùng để lưu trữ cấu hình của nhà phát triển hoặc lựa chọn ưu tiên của người dùng. Tài sản không bao giờ được chia sẻ giữa các tập lệnh.

Để xem hạn mức hằng ngày và hạn mức bộ nhớ cho dịch vụ Tài sản, hãy xem Hạn mức cho các dịch vụ của Google.

So sánh các cửa hàng bất động sản

Chiến lược phát hành đĩa đơn PropertiesService đối tượng toàn cục cung cấp ba phương thức, mỗi phương thức trả về một giá trị Properties nhưng có các quyền truy cập khác nhau, như thể hiện trong bảng sau:

Thuộc tính của tập lệnh Thuộc tính người dùng Thuộc tính tài liệu
Phương thức truy cập getScriptProperties() getUserProperties() getDocumentProperties()
Dữ liệu được chia sẻ giữa Tất cả người dùng của một tập lệnh, tiện ích bổ sung hoặc ứng dụng web Người dùng hiện tại của một tập lệnh, tiện ích bổ sung hoặc ứng dụng web Tất cả người dùng tiện ích bổ sung trong tài liệu đang mở
Thường dùng cho Dữ liệu cấu hình trên toàn ứng dụng, chẳng hạn như tên người dùng và mật khẩu cho cơ sở dữ liệu bên ngoài của nhà phát triển Chế độ cài đặt dành riêng cho người dùng, chẳng hạn như đơn vị hệ mét hoặc hệ đo lường Anh Dữ liệu theo tài liệu cụ thể, chẳng hạn như URL nguồn của biểu đồ được nhúng

Định dạng dữ liệu

Dịch vụ Thuộc tính lưu trữ tất cả dữ liệu dưới dạng chuỗi trong các cặp khoá-giá trị. Kiểu dữ liệu không phải là chuỗi sẽ được tự động chuyển đổi thành chuỗi, bao gồm chứa trong các đối tượng đã lưu.

Đang lưu dữ liệu

Để lưu một giá trị duy nhất, hãy gọi phương thức Properties.setProperty(key, value) cửa hàng phù hợp, như trong ví dụ sau:

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);
}

Để lưu dữ liệu hàng loạt, hãy truyền ánh xạ các cặp khoá-giá trị tới Properties.setProperties(properties). Mỗi cặp khoá-giá trị của đối tượng trong tham số được lưu trữ dưới dạng một thuộc tính:

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);
}

Đọc dữ liệu

Để truy xuất một giá trị mà bạn đã lưu trước đó, hãy gọi 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);
}

Để truy xuất tất cả các giá trị trong kho thuộc tính hiện tại, hãy gọi 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);
}

Sửa đổi dữ liệu

Các phương thức getProperty()getProperties() trả về một bản sao của dữ liệu đã lưu trữ chứ không phải khung hiển thị trực tiếp, nên việc thay đổi đối tượng được trả về sẽ không cập nhật giá trị trong cửa hàng bất động sản. Để cập nhật dữ liệu trong cửa hàng, bạn chỉ cần lưu lại dữ liệu:

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);
}

Xóa dữ liệu

Để xoá một giá trị, hãy gọi 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);
}

Để xóa tất cả các thuộc tính trong cửa hàng hiện tại, hãy gọi 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);
}

Quản lý thuộc tính của tập lệnh theo cách thủ công

Bạn có thể thêm tối đa 50 thuộc tính tuỳ chỉnh theo cách thủ công dưới dạng chuỗi trong khoá-giá trị các cặp, từ trang cài đặt dự án. Để thêm hơn 50 tài sản, bạn cần thêm chúng theo phương thức lập trình bằng các phương thức nêu trên trong Đang lưu dữ liệu. Khi đặt thuộc tính của tập lệnh trên trang cài đặt dự án, bạn không thể biến tập lệnh tham chiếu.

Thêm thuộc tính của tập lệnh

  1. Mở dự án Apps Script.
  2. Ở bên trái, hãy nhấp vào biểu tượng Cài đặt dự án Biểu tượng cho phần cài đặt dự án.
  3. Để thêm thuộc tính đầu tiên, trong Thuộc tính tập lệnh, hãy nhấp vào Thêm thuộc tính của tập lệnh.
  4. Để thêm thuộc tính thứ hai và các thuộc tính tiếp theo, trong Thuộc tính tập lệnh, hãy nhấp vào Chỉnh sửa thuộc tính của tập lệnh > Thêm thuộc tính của tập lệnh.
  5. Đối với Property (Thuộc tính), hãy nhập tên khoá.
  6. Đối với Giá trị, hãy nhập giá trị cho khoá.
  7. (Không bắt buộc) Để thêm thuộc tính khác, hãy nhấp vào Thêm thuộc tính của tập lệnh.
  8. Nhấp vào Lưu thuộc tính của tập lệnh.

Chỉnh sửa thuộc tính của tập lệnh

  1. Mở dự án Apps Script.
  2. Ở bên trái, hãy nhấp vào biểu tượng Cài đặt dự án Biểu tượng cho phần cài đặt dự án.
  3. Trong Thuộc tính của tập lệnh, hãy nhấp vào Chỉnh sửa thuộc tính của tập lệnh.
  4. Thực hiện thay đổi đối với tên khoá và giá trị khoá cho từng thuộc tính mà bạn muốn thay đổi.
  5. Nhấp vào Lưu thuộc tính của tập lệnh.

Xoá thuộc tính của tập lệnh

  1. Mở dự án Apps Script.
  2. Ở bên trái, hãy nhấp vào biểu tượng Cài đặt dự án Biểu tượng cho phần cài đặt dự án.
  3. Trong Thuộc tính của tập lệnh, hãy nhấp vào Chỉnh sửa thuộc tính của tập lệnh.
  4. Bên cạnh tài sản mà bạn muốn xoá, hãy nhấp vào biểu tượng Xoá .
  5. Nhấp vào Lưu thuộc tính của tập lệnh.