在 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)進行互動。