在 Google Apps Script 中,可以設計一個 API,並在其中帶入變數來應對不同的請求情境。這種方法允許使用者根據輸入的參數動態地調整 API 的行為,例如從 Flickr API 獲取特定相簿的照片。以下是如何在 Google Apps Script 中實現並發布一個可以接受參數的 API 的步驟:
步驟 1:創建一個新的 Google Apps Script 項目
您可以在 Google Drive 中直接創建一個新的 Apps Script 項目,或者在現有的 Google Sheets、Docs 或 Forms 中添加一個 Script。
步驟 2:編寫帶有參數的 API 函式
您可以使用 doGet 或 doPost 函式來接收 HTTP 請求。以下是一個 doGet 函式的範例,該函式從 URL 參數中抓取資料:
function doGet(e) {
var result = {
status: "success",
message: ""
};
try {
var apiKey = e.parameter.apiKey;
var userId = e.parameter.userId;
var photosetId = e.parameter.photosetId;
var data = fetchFlickrPhotoset(photosetId, apiKey, userId);
result.message = "照片資料讀取成功!";
result.data = data;
} catch (error) {
result.status = "error";
result.message = "發生錯誤:" + error.toString();
}
return ContentService.createTextOutput(JSON.stringify(result))
.setMimeType(ContentService.MimeType.JSON);
}
function fetchFlickrPhotoset(photosetId, apiKey, userId) {
var url = 'https://www.flickr.com/services/rest/?method=flickr.photosets.getPhotos' +
'&api_key=' + apiKey +
'&photoset_id=' + photosetId +
'&user_id=' + userId +
'&extras=url_o' +
'&page=1' +
'&per_page=10' +
'&format=json' +
'&nojsoncallback=1';
var response = UrlFetchApp.fetch(url, {method: 'get'});
var json = JSON.parse(response.getContentText());
return json;
}
步驟 3:發布 API
在 Apps Script 編輯器中,點擊「發布」>「部署為網頁應用」。在對話框中設置您希望的存取權限(通常選擇「只有自己」或「任何人,甚至匿名」),然後發布應用程式。
步驟 4:使用發布的 API
一旦應用程式發布,您會得到一個 URL,可以通過這個 URL 帶入參數來存取的 API。例如:
https://script.google.com/macros/s/你的腳本ID/exec?apiKey=你的API鑰匙&userId=使用者ID&photosetId=相簿ID
透過這樣的設定,可以有效地利用 Apps Script 提供服務,滿足特定需求,並與外部 API(如 Flickr)進行互動。