Các dịch vụ nâng cao của Google

Các dịch vụ nâng cao trong Apps Script cho phép các nhà phát triển có kinh nghiệm kết nối với một số API công khai của Google mà không cần thiết lập nhiều so với việc sử dụng giao diện HTTP. Về cơ bản, dịch vụ nâng cao là trình bao bọc mỏng xung quanh các API đó của Google. Các dịch vụ này hoạt động giống như các dịch vụ tích hợp sẵn của Apps Script, chẳng hạn như cung cấp tính năng tự động hoàn thành và Apps Script tự động xử lý quy trình uỷ quyền. Tuy nhiên, bạn phải bật một dịch vụ nâng cao trước khi có thể sử dụng dịch vụ đó trong tập lệnh.

Để xem API nào của Google được cung cấp dưới dạng dịch vụ nâng cao, hãy tìm phần Các dịch vụ nâng cao của Google trong phần Tài liệu tham khảo. Nếu muốn sử dụng API của Google không có sẵn dưới dạng dịch vụ nâng cao, bạn chỉ cần kết nối với API đó như mọi API bên ngoài khác.

Dịch vụ nâng cao hay HTTP?

Mỗi dịch vụ nâng cao của Google đều được liên kết với một Google API công khai. Trong Apps Script, bạn có thể truy cập vào các API này thông qua các dịch vụ nâng cao hoặc chỉ đơn giản là đưa ra các yêu cầu API trực tiếp bằng UrlFetch.

Nếu bạn sử dụng phương thức dịch vụ nâng cao, Apps Script sẽ xử lý quy trình uỷ quyền và cung cấp tính năng hỗ trợ tự động hoàn thành. Tuy nhiên, bạn phải bật dịch vụ nâng cao trước khi có thể sử dụng dịch vụ đó. Ngoài ra, một số dịch vụ nâng cao chỉ cung cấp một nhóm nhỏ chức năng có trong API.

Nếu sử dụng phương thức UrlFetch để truy cập trực tiếp vào API, thì về cơ bản bạn đang coi API Google là một API bên ngoài. Với phương thức này, bạn có thể sử dụng tất cả các khía cạnh của API. Tuy nhiên, bạn phải tự xử lý hoạt động uỷ quyền API. Bạn cũng phải tạo mọi tiêu đề cần thiết và phân tích cú pháp các phản hồi của API.

Nhìn chung, cách dễ nhất là sử dụng dịch vụ nâng cao khi có thể và chỉ dùng phương thức UrlFetch khi dịch vụ nâng cao không cung cấp chức năng mà bạn cần.

Yêu cầu

Để có thể sử dụng dịch vụ nâng cao, bạn phải đáp ứng các yêu cầu sau:

  1. Bạn phải bật dịch vụ nâng cao trong dự án tập lệnh của mình.
  2. Bạn phải đảm bảo bật API tương ứng với dịch vụ nâng cao trong dự án Cloud Platform (GCP) mà tập lệnh bạn sử dụng.

    Nếu dự án tập lệnh của bạn sử dụng một dự án GCP mặc định được tạo vào hoặc sau ngày 8 tháng 4 năm 2019, thì API sẽ tự động được bật sau khi bạn bật dịch vụ nâng cao và lưu dự án tập lệnh. Nếu chưa thực hiện, bạn cũng có thể được yêu cầu đồng ý với Điều khoản dịch vụ của Google Cloud cũng như API của Google.

    Nếu dự án tập lệnh của bạn dùng dự án GCP chuẩn hoặc dự án GCP mặc định cũ hơn, thì bạn phải bật API tương ứng của dịch vụ nâng cao trong dự án GCP theo cách thủ công. Bạn phải có quyền chỉnh sửa dự án GCP để thực hiện thay đổi này.

Xem các dự án Cloud Platform để biết thêm thông tin.

Bật dịch vụ nâng cao

Để sử dụng dịch vụ nâng cao của Google, hãy làm theo hướng dẫn sau:

  1. Mở dự án Apps Script.
  2. Ở bên trái, hãy nhấp vào biểu tượng Trình chỉnh sửa .
  3. Ở bên trái, bên cạnh mục Dịch vụ, hãy nhấp vào biểu tượng Thêm dịch vụ .
  4. Chọn một dịch vụ nâng cao của Google rồi nhấp vào Thêm.

Sau khi bạn bật một dịch vụ nâng cao, dịch vụ đó sẽ có trong tính năng tự động hoàn thành.

Cách chữ ký của phương thức được xác định

Các dịch vụ nâng cao thường sử dụng cùng đối tượng, tên phương thức và tham số như các API công khai tương ứng, mặc dù chữ ký phương thức được dịch để sử dụng trong Apps Script. Hàm tự động hoàn thành của trình chỉnh sửa tập lệnh thường cung cấp đủ thông tin để bắt đầu, nhưng các quy tắc bên dưới sẽ giải thích cách Apps Script tạo chữ ký phương thức từ API công khai của Google.

Các yêu cầu gửi đến API của Google có thể chấp nhận nhiều loại dữ liệu, trong đó có tham số đường dẫn, tham số truy vấn, nội dung yêu cầu và/hoặc tệp đính kèm tải nội dung nghe nhìn lên. Một số dịch vụ nâng cao cũng có thể chấp nhận các tiêu đề của yêu cầu HTTP cụ thể (ví dụ: dịch vụ Lịch nâng cao).

Chữ ký phương thức tương ứng trong Google Apps Script có các đối số sau:

  1. Nội dung yêu cầu (thường là tài nguyên), dưới dạng đối tượng JavaScript.
  2. Đường dẫn hoặc tham số bắt buộc, dưới dạng đối số riêng lẻ.
  3. Tệp đính kèm tải nội dung nghe nhìn lên, dưới dạng đối số Blob.
  4. Các tham số không bắt buộc, dưới dạng một đối tượng JavaScript ánh xạ tên tham số đến các giá trị.
  5. Tiêu đề của yêu cầu HTTP dưới dạng đối tượng JavaScript ánh xạ tên tiêu đề đến giá trị tiêu đề.

Nếu phương thức không có bất kỳ mục nào trong một danh mục nhất định, thì phần chữ ký đó sẽ bị bỏ qua.

Có một số ngoại lệ đặc biệt cần lưu ý:

  • Đối với các phương thức chấp nhận việc tải nội dung nghe nhìn lên, tham số uploadType sẽ được đặt tự động.
  • Các phương thức có tên delete trong Google API có tên là remove trong Apps Script, vì delete là một từ dành riêng trong JavaScript.
  • Nếu dịch vụ nâng cao được định cấu hình để chấp nhận tiêu đề của yêu cầu HTTP và bạn đặt đối tượng JavaScript cho tiêu đề yêu cầu, thì bạn cũng phải đặt đối tượng JavaScript tham số không bắt buộc (thành một đối tượng trống nếu bạn không sử dụng tham số không bắt buộc).

Hỗ trợ các dịch vụ nâng cao

Dịch vụ nâng cao chỉ là các trình bao bọc mỏng cho phép sử dụng các API của Google trong Apps Script. Do đó, mọi vấn đề gặp phải khi sử dụng thường là vấn đề với API cơ bản chứ không phải với chính Apps Script.

Nếu gặp sự cố khi sử dụng một dịch vụ nâng cao, bạn cần báo cáo sự cố đó bằng cách sử dụng hướng dẫn hỗ trợ dành cho API cơ bản. Đường liên kết đến các hướng dẫn hỗ trợ này được cung cấp trong mỗi hướng dẫn dịch vụ nâng cao trong phần Tài liệu tham khảo về Apps Script.