iT邦幫忙

2021 iThome 鐵人賽

DAY 16
1

「鮭魚均,因為一場鮭魚之亂被主管稱為鮭魚世代,廣義來說以年齡和臉蛋分類的話這應該算是一種 KNN 的機器學習,不正經的數據分析師,畢業後把人生暫停了半年,在 Google 和 AWS 辦過幾場演講,緩下腳步的同時找了份跨領域工作。偶而慢跑、愛跟小動物玩耍。曾立過很多志,最近是希望當一個有細節的人。」


Youtube Analytics API 教學 - OAuth2.0 開放授權 (2)

YouTube Analytics API 的使用牽涉了你帳戶中的營利觀看與各個影片的表現,更白話的說法就是你創作者工作室 Youtube Studio 中的資訊,都能夠被這個功能所抓出來,他需要具有高度的驗證與安全性,但也同時給予了影音串流和數位行銷的工作者,有了更加彈性的資料運用方式,更靈活的追蹤每 Youtube 影片的影片資訊。這篇是 Python - 數位行銷的 Youtube 分析教學系列文章的第 16 篇,也是我參加 2021 iThome 鐵人賽中系列文章的第 16 天。

系列文章:Python — 數位行銷分析與 Youtube API 教學
昨日回顧:Youtube Analytics API 教學 - OAuth2.0 開放授權 (1)

關於 OAuth 2.0 Server 端的應用

Untitled

OAuth 2.0 是一種用於授權的標準協議。 OAuth 2.0 提供了客戶端開發人員簡單且特定的授權流程,能夠同時為 Web 應用、桌面應用、智慧型手機和家電設備提供特定的授權流程。像是當你在呼叫 Google API 或是 Youtube API 時,可以無需訪問該用戶的帳戶,就能代表你的應用程式執行。

在這些情況下,應用程式需要向 API 證明自己的身份來對某些資源進行的訪問的請求。簡單來說,這些類型的伺服器交互需要你的應用程序的服務帳戶,而不是對個人最終用戶的帳戶 (特別注意的是對象不一樣),能讓你的應用程式代表服務帳號調用 Google API,不需要用戶同意。

利用 UML 方式圖解 OAuth 2.0 Server

上面說了很多很像繞口令的內容,我們用時序圖 (Sequence diagram) 來說明也許會更好理解,對於 OAuth2.0 流程,可以理解成是執行第一次 OAuth 以後,讓瀏覽器取得授權,此時系統會回傳一個Credentials 物件 (文件),之後你所有的內容執行都可以建立在這個物件上,而 Credentials 物件會包含兩個 Tokens:Refresh 和 Access Token ,你的應用程式將令牌請求發送到 Google OAuth 2.0 授權服務器,而授權服務器回傳訪問權限。這個應用程式就能使用權限訪問 Google API。而當權限過期時,應用程式就重複這個過程,重新取得權限。

  • Refresh Token (效期 200天):用以請求各項 Google APIs 的Token
  • Access Token (效期 1 小時):用以請求 Youtube API,當 Access Token 過期,程式邏輯能夠在每次呼叫 Youtube API之前去檢查值,若是過期 (valid == False),則 Refresh Access Token ,這樣即可繼續使用 Youtube API。

OAuth 2.0 Server

回到 Google Cloud Platform 確定設定狀況

昨天我們有說明到 OAuth consent screen 的設定,有了剛剛上面提到的概念後再回來看我們的設定可以更簡單理解目前 OAuth 的設定狀況,App Name 設定結果為 (incbot)、UserType 為 (Extenal) 狀態,代表任何擁有 Google 帳戶的測試用戶均可使用。 那目前 TestUser 就限制在 Publishing status 為測試狀態 (Testing) 。

GCP

小補充

如果對於 OAuth 2.0 有興趣可以去 Google Developers 和 Github 看看更多資訊

今天說明了 OAuth2.0 的概念與 Sequence Diagram

如果有時間也歡迎看看我的夥伴們的文章:

lu23770127 — SASS 基礎初學三十天
10u1 — 糟了!是世界奇觀!
juck30808 — Python — 數位行銷分析與 Youtube API 教學
HLD — 淺談物件導向與Design Pattern介紹
SiQing47 — 前端?後端?你早晚都要全端的,何不從現在開始?

Jerry Chien

【鮭魚均】 現職是 200 多萬訂閱 Youtuber 的數據分析師,專長在 Python 的開發與使用,大學雖然是資訊背景但總是斜槓跑到商管行銷領域,以工作角度來說的話,待過 FMCG、通訊軟體、社群影音產業,也算是個數位行銷體系出生的資訊人。這 30 天鐵人挑戰賽會從數位行銷角度去重新切入數據分析這件事情,期待這個社會中,每個人能在各個角力間不斷沖突而漸能找到一個平衡點回歸最初的統計建立最終的初心。

下一篇:Youtube Analytics API 教學 - OAuth2.0 開放授權 (3)


上一篇
Youtube Analytics API 教學 - OAuth2.0 開放授權 (1)
下一篇
Youtube Analytics API 教學 - OAuth2.0 開放授權 (3)
系列文
Python - 數位行銷分析與 Youtube API 教學30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
0
lw90967
iT邦新手 5 級 ‧ 2021-10-01 14:12:53

小敏覺得認真

0
Tilda
iT邦新手 4 級 ‧ 2021-10-02 00:38:13

0
juck30808
iT邦研究生 1 級 ‧ 2021-10-14 11:23:10

--- 10/14完賽前重新更新錯字與圖片 ---

我要留言

立即登入留言