API bên ngoài

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

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

Bạn có thể dùng dịch vụ UrlFetch để trực tiếp đưa ra các yêu cầu API.

Ví dụ sau đây sử dụng API GitHub để tìm kiếm những kho lưu trữ có 100 sao trở lên đề cập đến "Apps Script". Yêu cầu API này không cần uỷ quyền hoặc không cần 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

Các API hành động thay cho người dùng thường yêu cầu được cho phép, thường sử dụng giao thức OAuth. Apps Script không hỗ trợ giao thức tích hợp, nhưng bạn có thể sử dụng các thư viện nguồn mở để 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 mình:

Thao tác với JSON

Thao tác với đối tượng JSON cũng tương tự như XML, ngoại trừ việc phân tích cú pháp hoặ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ì phản hồi chuỗi JSON có thể được truy cập 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 giá trị biểu diễn của đố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ự, để biểu diễn một chuỗi của đối tượng JavaScript để đư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, thì 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 đưa ra yêu cầu XML cho một API, hãy tạo XML để gửi bằng các 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.