API bên ngoài

Google Apps Script có thể tương tác với API từ khắp nơi trên web. Hướng dẫn này cho biết cách làm việc với các loại API khác nhau trong tập lệnh của bạn.

Kết nối với API công khai

Bạn có thể sử dụng dịch vụ UrlFetch để tạo Trực tiếp yêu cầu API.

Ví dụ sau đây sử dụng phương thức API GitHub sang tìm kiếm kho lưu trữ có 100 sao trở lên có đề cập đến "Apps Script". Yêu cầu API này không yêu cầu uỷ quyền hoặc khoá API.

var query = '"Apps Script" stars:">=100"';
var url = 'https://api.github.com/search/repositories'
  + '?sort=stars'
  + '&q=' + encodeURIComponent(query);

var response = UrlFetchApp.fetch(url, {'muteHttpExceptions': true});
Logger.log(response);

Gửi yêu cầu đến các dịch vụ bằng OAuth

Những API hoạt động thay mặt người dùng thường yêu cầu uỷ quyền, thường sử dụng Giao thức OAuth. Apps Script không được tích hợp sẵn hỗ trợ cho giao thức, nhưng có các thư viện nguồn mở mà bạn có thể sử dụng để thực hiện quy trình OAuth và gửi thông tin xác thực cùng với yêu cầu của bạn:

Làm việc với JSON

Thao tác với các đối tượng JSON cũng tương tự như với XML, ngoại trừ việc phân tích cú pháp hoặc việc mã hoá đối tượng JSON dễ dàng hơn nhiều.

Nếu API đang được yêu cầu trả về phản hồi JSON thô cho một yêu cầu, thì JSON có thể truy cập phản hồi chuỗi bằng phương thức HTTPResponse.getContentText(). Sau khi chuỗi này được truy xuất, bạn chỉ cần gọi JSON.parse() trên chuỗi để lấy biểu thị đối tượng gốc.

// Make request to API and get response before this point.
var json = response.getContentText();
var data = JSON.parse(json);
Logger.log(data.title);

Tương tự, để tạo một chuỗi đại diện của một đối tượng JavaScript nhằm đưa ra yêu cầu, hãy sử dụng JSON.stringify().

var data = {
  'entry': {
    'group': {
      'title': 'Dog Skateboarding',
      'description': 'My dog gets some serious air'
    },
    'keywords': 'dog, skateboard'
  }
}
var payload = JSON.stringify(data);
// Make request to API with payload after this point.

Phân tích cú pháp XML

Nếu API bên ngoài trả về phản hồi XML thô cho một yêu cầu, bạn có thể truy cập vào Phản hồi XML bằng phương thức HTTPResponse.getContentText().

// Make request to API and get response before this point.
var xml = response.getContentText();
var doc = XmlService.parse(xml);

Khi gửi yêu cầu XML tới một API, hãy tạo XML để gửi bằng cách sử dụng phương thức XmlService.

var root = XmlService.createElement('entry')
    .setAttribute('keywords', 'dog, skateboard');
var group = XmlService.createElement('group')
    .setAttribute('title', 'Dog Skateboarding');
    .setAttribute('description', 'My dog gets some serious air');
root.addContent(group);
var document = XmlService.createDocument(root);
var payload = XmlService.getPrettyFormat().format(document);
// Make request to API with payload after this point.