Google API 是什麼?一次搞懂五種 Google API,聽說讀寫樣樣通!

什麼是 API?白話文說明搞懂 API

API(Application Programming Interface)是一種讓軟體應用程式間可以相互溝通的工具,我們可以把 API 想像成一個橋樑,讓不同的軟體能夠彼此連接並共享資訊。

以日常生活的例子來說,你可以把 API 想像成自動販賣機或是提款機,當你按下想要的飲料或金額按鈕時,機器便會自動根據你的需求,提供你選擇的飲料或是提款金額。在這個例子中,飲料可以想成是你想要存取的數據,而機器按鍵就好比是 API,可以讓機器解讀你的需求,並給予你想要的數據。

以上觀念套用到軟體世界中,即是 API 定義了一組規則和協定,允許不同的軟體系統之間進行溝通。這些系統可以是不同的應用程式、服務或平台。透過 API,軟體可以請求(Request)其他軟體提供特定的功能、資料或服務,並接收相應的回應(Response)。

簡而言之,API 是一個讓軟體之間進行互動和共享資訊的工具,就像販賣機按鈕使我們得以和販賣機進行溝通,它提供了一個方便且標準的方式,讓不同的軟體能夠彼此合作,並在功能和資源上互相支援。

為什麼要使用 API?API 的運作方式

現今企業透過 API 開放資料已是日常,API 已成為絕大多數企業系統標準入口。根據 CloudMile 《2023 台灣 API 管理趨勢調查》報告顯示,有超過 9 成的企業擁有內部使用的 API,甚至已有將近 5 成的企業擁有「合作夥伴限定」的 API。以下統整使用 API 的幾大好處:

效率:API 提供了一種簡單且標準的方式,讓開發人員能夠隨時存取現有的軟體元件和服務,,避免重複開發同樣的系統功能,節省時間與成本。

資料共享與整合:API 允許不同的軟體系統之間進行互相溝通和交流,串接不同的平台與系統,從而實現跨系統的互操作性,也讓大型集團在整合內部子公司間的數據時容易許多。

滿足龐大的跨裝置存取需求:現今時代,人手一支手機、一台筆電,同樣一個軟體服務可能會在多個設備上被人使用,例如手機、網頁和穿戴式設備等,而這些裝置必須要和同一個後端資料庫互動,才有可能呈現出一致的內容。而 API 便能協助實踐這些日常應用場景,透過讓各個裝置負責開發的團隊可以共用同一個 API 來使用與存取資料庫。

API 如何運作?

API 架構通常會透過用戶端和伺服器來說明。傳送要求的應用程式稱為「用戶端」,傳送回應的應用程式則稱為「伺服器」。API 有四種不同的運作方式,取決於它們建立的時機以及原因:

  • SOAP API:

    SOAP API(Simple Object Access Protocol API)是一種用於通信和資料交換的協定,它基於 XML 格式傳遞訊息。儘管 SOAP API 曾經是較為常用的 API 協定,但消息格式較複雜和冗長的,使用頻率有下降;然而,對於特定的企業應用和舊有系統的集成,SOAP API 仍然具有價值。
  • RPC API:

    這些 API 稱為遠端程序呼叫 (Remote Procedure Call)。用戶端在伺服器上完成功能 (或程序),伺服器便會將輸出傳回用戶端,允許遠端用戶端呼叫伺服器上的程序。 
  • WebSocket API:

    WebSocket API 可以實現伺服器主動推送資料給客戶端,而不需要客戶端不斷地發送 Request,使得回應可以更即時,進而提升網頁的通訊速度。
  • REST API:

    REST API 是一種在 Web 上最常見的 API。用戶端會向伺服器發送請求,並將資料作為請求的一部分傳送給伺服器。伺服器根據用戶端的輸入啟動相應的內部功能,將處理後的資料作為回應返回給用戶端,這種方式可以讓用戶端和伺服器之間進行資料的交換和互動。

自 2017 年 11 月起的 Hello Robi 1.0 系列,CloudMile 不僅向開發者介紹雲端存儲平台,更專程設計課程讓聽眾能在短時間了解 Google API。本文將擷取活動精髓: API 入門概念,相信連不會 Coding 的你也能了解各種 API 與日常生活中的相關應用。

這次介紹的 Google API 主要依從人類基礎的四種能力:聽說讀寫衍伸而成,以下將介紹 Vision API、Speech API、Translation API、Natural Language API、Video Intelligence API。

Vision API

Vision API 就像是 Google 的照片搜尋功能,主要能夠讓機器辨識物件,如人臉、商標 Logo、圖片中的文字,還可以偵測是否有暴力內容等等。簡單而言,Vision API 會自動辨認照片出現的物品並逐一標記標籤。

以下圖旅行青蛙的明信片舉例,將選定的圖片傳入 Vision API,將會自動偵測相關標籤,如圖中所示有 Green、Cartoon 等。

相關 Vision API 實作教學可參考:動手玩玩 Google Cloud Vision API

圖/CloudMile 講師簡報
icon/enlarge

Video Intelligence API

Video Intelligence 與 Vision API 類似,但以影片即時標籤為主,深入地把影片片段內容作標籤,其中可自動偵測影片場景轉變,並標記每個場景出現的物品。

如此一來,在龐大的影片庫裡只需要輸入關鍵字(例如:狗、花、人、跑、飛),不到幾秒鐘就能輕鬆從數部影片中搜尋出和關鍵字吻合的內容,舉例來說,所有影片資料庫中出現「狗」的相關影音都會被標示出來,而且還能知道出現在影片裡的哪個位置。

透過 Video Intelligence API,便可以用影片實際內容搜索,屏除過往以影片標題搜尋模式,讓搜尋後的結果更精準。

Translate API

Translate API 涵蓋一般人最常用的 Google Translation,可即時將句子翻譯成各國語言。另外,也有 Instant Video Translate 功能,只要打開相機的功能,API 可將拍到的文字翻譯成使用者所選取的語言,並以相同的顏色及字體顯示在相同位置。

Speech API

就如同小孩成長般,視覺與聽覺是最先成熟的能力,在視覺方面 Google 有 Vision API,而聽覺方面也有 Speech API 的幫助。簡單來說,Speech API 可以想成是 Google 搜尋時常使用的語音轉換文字 (Speech to Text) 功能,使用者只需要說出要輸入的文字,API 就會自動把所說的話即時轉換成文字,省略打字環節。

近期來 Apple Siri、Google Assistant、Amazon Alexa 等語音助手,背後就是借助如 Spechh API 的技術。

其中 Google Speech API 的強項之一「情境感知辨識」,能依據使用者所在的使用裝置、位置、場景等額外資訊,來增加辨識的準確率!舉例來說,當場景被設定在餐廳時「訂位」、「點餐」等等的詞彙就比較容易被辨識。

然而,Speech API 在日常生活中也隨處可見,如出門必備的 Google Maps 就有應用。此外,線上課程也開始使用 Speech API 功能,並標記每個字出現的時間點,供學員在觀看課程時,便可點選特定文字讓影片跳到相對應位置(如下圖),讓學習更加便利。

圖/Google
icon/enlarge

Google Natural Language API

除了看與聽,Google Natural Language API 也能進一步了解語意與情緒。只要輸入一段文字,Natural Language API 便能判斷此段文字的正面、負面或是中性情緒,並給予相對分數,供使用者進一步評估。透過 Natural Language API 自動分析語句功能,便可初步了解使用者的意圖,進而做到許多智慧化的功能。

舉例來說,若在 Twitter 上特定蒐集 Hashtag 有關於 Google Next17 活動的相關留言,再透過 Natural Language API 分析語意,再進一步統計相關文字出現的頻率,便可初步了解大眾對於 Google Next17 的評價,讓以往難以衡量的輿論,得到一個相對應的數據指標,可供後續活動評估做為參考憑據。

圖/CloudMile
icon/enlarge

API 三大常見的應用案例

API 常見的應用包括網頁、自動化、行動裝置、本地端裝置、IoT 等,且事實上 API 技術已經在我們的生活中被廣泛運用,以下幾個是常見的 API 應用例子:

叫車 APP 結合 Google Maps API 

透過 API 串接技術,叫車平台或外送平台可以直接存取 Google Maps 地圖資訊,實現許多應用。例如,用戶可以直接在外送平台上看到附近的飲料店家,又或是用戶可以直接在叫車平台上找到大樓或餐廳等地標,而無需輸入完整地址。對於用戶來說,不需要每次叫車或訂購外送都查詢 Google Maps,提供了更便利的使用體驗。

比價網站

許多人在買機票前,都會上比價網站確認行情,而比價網站之所以可以即時比較各家資訊,就是透過 API 技術與各家航空公司的網站近進行互動。例如,用戶一旦輸入出發地或日期等需求資訊,比價網站便能透過 API 將需求傳送至各家航空公司的網站,再將獲得的資訊內容呈現給用戶,是一個經典的 API 應用案例。

網購平台提供多元支付方式

後疫情時代,網購已是許多人的日常必需品。而網購電商平台在進行金流串接時,便非常仰賴 API 技術。例如串接銀行金流 API 讓消費者可以直接在網頁上付款,而不需要登入網路銀行。而對於新的電商商家而言,可以透過金流繼夠提供的 API 來串接其系統,讓消費者有更多付費方式的選擇。

總結

上述為五種 Google API 皆為 Google Cloud Platform 所提供的工具,若想動手嘗試便可開啟 Google Cloud Platform API Credentials 申請試用,Google 將提供兩百美金的免費試用額度!

另外,Hello Robi 原堂課程也有介紹進階版技術與功能,如 Tensorflow、Google Auto ML、Google Machine Learning Engine 相關的概念介紹、理論簡述、技術面的實際應用,包括 Deep Learning 如何收集各動物間的特徵,從而加強自動辨認的準確性;或是如何使用 ML Engine 定義數據類型去分析等。

更多進階與完整的資訊,日後皆有開授教學課程,若有興趣請隨時關注 CloudMile。

延伸閱讀:Google Maps Platform 的最佳管理做法:限制 API 金鑰,確保正確收費

訂閱 CloudMile 電子報

所有 CloudMile 最新消息、產品動態、活動資訊和特別優惠,立即掌握。