iT邦幫忙

2021 iThome 鐵人賽

DAY 18
0

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


Youtube Analytics API 教學 - 請出示身分 Python OAuth 2.0

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

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

關於 google_auth_oauthlib

google_auth_oauthlib 是用於 Google API Python 端的 Library。這個 Library 是由 Google 官方進行持續性維護。該 Library 提供 oauthlib 與 google-auth 的集成方式。截至 2021年 9月 30號,目前更新到 0.4.6 版本,並且支援 Python 3.6 以上更新。

  • 我們在開發區先輸入 pip install google-auth-oauthlib 代碼,將會進行自動安裝,如果獲得 Note: you may need to restart the kernel to use updated packages. 的回應,即代表本次的安裝成功。

pip

  • 在完成 pip install 的安裝後,點選 Kernel (核心) 裡面的 Restart 來重啟整個 Jupyter 的核心

pip2

在 GCP 找到你的 client_secret

  • 還記得你的 client_secret 嗎?
    昨天我們有介紹過要將 client_secret 的 Json 檔案下載下來,我們在此就會用到這樣功能,之前我們根據 Google Cloud Platform 獲得你的 client_secret (通行證) ,我們接下來需要使用到這個通行證,通行證是隱私基本上不能隨意露出,在未來抓取 Youtube Analytics API 資料時,就會需要這組 Json 檔通行證來進行。

client_secret

  • 設定 scopes 和 client_secrets,該 Python 程式檔案要與 client_secrets_file 的 Json 檔案放在同一個資料夾,設定 api_service_name 和 api_version
# -*- coding: utf-8 -*-
import os
import google_auth_oauthlib.flow
import googleapiclient.discovery
import googleapiclient.errors
scopes = ["https://www.googleapis.com/auth/yt-analytics.readonly"]
client_secrets_file = "client_secret_....................googleusercontent.com.json"

# Disable OAuthlib's HTTPS verification when running locally.
os.environ["OAUTHLIB_INSECURE_TRANSPORT"] = "1"

# Get credentials and create an API client
flow = google_auth_oauthlib.flow.InstalledAppFlow.from_client_secrets_file(client_secrets_file, scopes)
credentials = flow.run_console()
youtube_analytics = googleapiclient.discovery.build('youtubeAnalytics', 'v2', credentials=credentials)

scopes

  • 利用 youtube_analytics = googleapiclient.discovery.build 設定 build 的標準,('youtube', 'v3', credentials=credentials) 來取得資訊,所以 youtube_analytics 方法會取得你的 credentials。

youtube_analytics

訪問 URL 以授權此應用程序

  • 可以看見我們上次所設定的 OAuth consent screen 畫面, incbot 這個開發程式想要取用帳戶資料,在此點選你的 Youtube (Google) 帳號

consent

  • 因為是測試階段 所以會得到個 Google hasn’t verified this app 的警告,點選 Contiue 繼續

Contiue

  • 這邊會告知 incbot 相關的使用資訊,並且詢問你是否允許他儲存與使用你的資料,因為我們是開發者測試自己的資料,所以點選 Continue 繼續

incbot

  • 最後會獲得一組臨時金鑰,請將這段金鑰複製下來

key

  • 最後把金鑰貼回 authorization code 的位置並且執行,若沒有發生錯誤就是執行正確囉,接下來我們就會擁有 Youtube_Analytics_API 的通行使用權限了

authorization

今天說明了 OAuth2.0 在 Python 上的開放授權設定

今天的內容好多 authorization 的過程,但圖片解釋的還蠻詳細的,照著圖片步驟執行應該是能夠順利執行,如果有時間也歡迎看看我的夥伴們的文章

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

Jerry Chien

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

下一篇:Youtube Analytics API 教學 - 基本架構 reports.query


上一篇
Youtube Analytics API 教學 - OAuth2.0 開放授權 (3)
下一篇
Youtube Analytics API 教學 - 基本架構 reports.query
系列文
Python - 數位行銷分析與 Youtube API 教學30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 則留言

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

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

我要留言

立即登入留言