在 Google Apps Script 中設計可以帶入參數的 API,以 Flickr API 為範例

在 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 函式

您可以使用 doGetdoPost 函式來接收 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)進行互動。

 

課程推薦

AI工作術全面學習實戰營:6 堂精選課程,學會最好用 AI 工具,翻轉你的人生

AI工作術全面學習實戰營:6 堂精選課程,學會最好用 AI 工具,翻轉你的人生

《PChome雜誌》攜手 5 位在 AI 領域的專業講師,打造上述 6 堂實用課程,教你學會時下最好用的 AI 工具,導入生成式 AI 來產製工作內容,改造並升級你的工作流程。

輸入折扣碼 ZERO2024 還可以額外獲得 NT$400 優惠喔。

HTML與SEO實戰應用—並以ChatGPT助力提升網站品質與流量

HTML與SEO實戰應用—並以ChatGPT助力提升網站品質與流量

本課程專為希望深入了解 HTML 並有效結合 SEO 策略的學員設計。我們將重點放在 HTML 的深度學習與應用上,同時穿插介紹如何透過搜索引擎優化提升網站能見度。透過即時互動式的直播教學,加上 ChatGPT 的輔助,您將學習到如何建立一個結構優良、美觀且符合 SEO 標準的網站。這不僅會提升網站的用戶體驗,還會大幅提高網站的搜索引擎排名,進而增加訪客流量和潛在客戶。
用AI強化職場競爭力 ChatGPT、Midjourney從入門到精通

用AI強化職場競爭力 ChatGPT、Midjourney從入門到精通

在快速變遷的職場中,提升競爭力成為關鍵。透過引領潮流的AI技術,ChatGPT和Midjourney將助您勇攀高峰。無論您是AI新手還是專家,這個課程將引導您從入門到精通,解密AI的奧秘,並學習如何運用於職場。
GitHub Copilot AI 程式碼編輯工具應用實務班

GitHub Copilot AI 程式碼編輯工具應用實務班

讓學員瞭解有效地使用該工具來加速開發流程、提高程式碼品質和生產力。課程重點放在以 JavaScript 程式語言為例,介紹 Copilot 的基本原理、使用方法和最佳實踐。

輸入折扣碼 TC1456JA 還可以額外獲得 NT$500 優惠喔。

ChatGPT X Clipchamp AI 生成影片、配音與字幕應用實戰班

ChatGPT X Clipchamp AI 生成影片、配音與字幕應用實戰班

掌握Clipchamp AI的操作技巧,靈活運用Clipchamp AI進行影片編輯和創作,實現創意表達和傳播目的。

輸入折扣碼 TC1451JAN 還可以額外獲得 NT$500 優惠喔。

如何串接多種數位工具資訊?Looker Studio 資料視覺化實戰班|GoogleAds x FB廣告 x GA流量數據

如何串接多種數位工具資訊?Looker Studio 資料視覺化實戰班|GoogleAds x FB廣告 x GA流量數據

Looker Studio除了可協助使用者監控網站流量、廣告成效、選擇匯入資源的管道之外,還可以將數據資料多平台整合、數據報表即時更新、數據範本可重複套用的效益,透過自動化系統,將數據全部匯入同一個報表平台,是企業不可或缺的重要工具。

輸入折扣碼 TC1270JIA 還可以額外獲得 NT$500 優惠喔。

和我們交流

加入我們的社群,裡面會有一些技術的內容、有趣的技術梗,以及職缺的分享,歡迎和我們一起討論。