API bên ngoài

Google Apps Script có thể tương tác với các API trên toàn bộ web. Hướng dẫn này trình bày cách sử dụng nhiều loại API trong tập lệnh.

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

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

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

Các API 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 cung cấp chế độ hỗ trợ tích hợp cho giao thức này, 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 đăng nhập cùng với các yêu cầu của mình:

Làm việc với JSON

Việc xử lý các đối tượng JSON cũng tương tự như việc xử lý XML, ngoại trừ việc phân tích cú pháp hoặc mã hoá một đối tượng JSON sẽ dễ dàng hơn nhiều.

Nếu API được yêu cầu trả về một phản hồi JSON thô cho một yêu cầu, thì bạn có thể truy cập vào phản hồi chuỗi JSON bằng phương thức HTTPResponse.getContentText(). Sau khi truy xuất chuỗi này, bạn chỉ cần gọi JSON.parse() trên chuỗi để nhận một 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 cho đối tượng JavaScript nhằm đưa ra yêu cầu, hãy 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 một 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 đưa ra yêu cầu XML đến một API, hãy tạo XML để gửi bằng cách sử dụ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.