「鮭魚均,因為一場鮭魚之亂被主管稱為鮭魚世代,廣義來說以年齡和臉蛋分類的話這應該算是一種 KNN 的機器學習,不正經的數據分析師,畢業後把人生暫停了半年,在 Google 和 AWS 辦過幾場演講,緩下腳步的同時找了份跨領域工作。偶而慢跑、愛跟小動物玩耍。曾立過很多志,最近是希望當一個有細節的人。」
Youtube Analytics API 能找到的資料非常少,尤其在中文語系中更甚,相較於 Data API 的自由性,Analytics 的隱私注重較高設定也更為複雜,今天以影片資訊說明,抓取你在創作者工作室 Youtube Studio 中的資訊,他需要具有高度的驗證與安全性,但也同時給予了影音串流和數位行銷的工作者,有了更加多元的資料運用方式,更靈活的追蹤每 Youtube 影片的影片資訊。這篇是 Python - 數位行銷的 Youtube 分析教學系列文章的第 26 篇,也是我參加 2021 iThome 鐵人賽中系列文章的第 26 天。另外因為 Youtube Analytics API 牽涉到私人資訊,所以我就直接拿我沒什麼在經營的個人帳號來 demo 測試。
系列文章:Python — 數位行銷分析與 Youtube API 教學
昨日回顧:Youtube Analytics API 教學 - 內容管理員
在開始之前需要先確定你的身份類別,上一個章節已經有提及到內容管理員的意思以及他和一般的使用者帳戶有何不同,我們在開始前必須要先確定自己的身份右方的帳戶圖示中,可以看見一個綠色房子的圖案,那個 Content Manager 即是所謂的內容管理員
內容管理員身份的取用大致與先前的相同,但這邊做個總複習順便把整體流程順一次給大家看一遍,關於 google_auth_oauthlib ,是用於 Google API Python 端的 Library。這個 Library 是由 Google 官方進行持續性維護。首先先在 GCP 找到你的 client_secret,我們有介紹過要將 client_secret 的 Json 檔案下載下來,之前我們根據 Google Cloud Platform 獲得你的 client_secret (通行證) ,我們接下來需要使用到這個通行證,通行證是隱私基本上不能隨意露出,在未來抓取 Youtube Analytics API 資料時,就會需要這組 Json 檔通行證來進行。
import os,sys,time,csv
import google_auth_oauthlib.flow
import googleapiclient.discovery
import googleapiclient.errors
scopes = ["https://www.googleapis.com/auth/yt-analytics-monetary.readonly"]
# Get credentials and create an API client
# Disable OAuthlib's HTTPS verification when running locally.
# *DO NOT* leave this option enabled in production.
os.environ["OAUTHLIB_INSECURE_TRANSPORT"] = "1"
api_service_name = "youtubeAnalytics"
api_version = "v2"
client_secrets_file = "client_secret_.....你的金鑰.........ent.com.json"
flow = google_auth_oauthlib.flow.InstalledAppFlow.from_client_secrets_file(
client_secrets_file, scopes)
credentials = flow.run_console()
youtube_analytics = googleapiclient.discovery.build(
api_service_name, api_version, credentials=credentials)
def main(dt,dt2):
var = 0
while var <1:
var = var +1
try:
request = youtube_analytics.reports().query(
startDate = str('2021-10-01'),
endDate= str('2021-10-02'),
maxResults = 10,
dimensions= dt,
metrics= dt2,
ids = 'contentOwner==yTp...............Q',
filters= 'channel==UC..................w',
sort = '-views'
)
response = request.execute()
print(response)
except:
print("Error")
def crocodile():
while True:
dt = 'video'
dt2 = input('metrics:')
if dt =="exit":
break
main(dt,dt2)
if __name__ == "__main__":
crocodile()
今天的內容偏向於過去內容的統整,將 Youtube Analyst API 做完美的總結,也使用了 Content Owner 和 user 兩種角色身份來介紹 API 的使用,如果對於今天這篇內容不太清楚的小夥伴可以看看前幾天的 Youtube Analyst API 系列文章唷!如果有時間也歡迎看看我的夥伴們的文章
lu23770127 — SASS 基礎初學三十天
10u1 — 糟了!是世界奇觀!
juck30808 — Python — 數位行銷分析與 Youtube API 教學
HLD — 淺談物件導向與Design Pattern介紹
SiQing47 — 前端?後端?你早晚都要全端的,何不從現在開始?
【鮭魚均】 現職是 200 多萬訂閱 Youtuber 的數據分析師,專長在 Python 的開發與使用,大學雖然是資訊背景但總是斜槓跑到商管行銷領域,以工作角度來說的話,待過 FMCG、通訊軟體、社群影音產業,也算是個數位行銷體系出生的資訊人。這 30 天鐵人挑戰賽會從數位行銷角度去重新切入數據分析這件事情,期待這個社會中,每個人能在各個角力間不斷沖突而漸能找到一個平衡點回歸最初的統計建立最終的初心。
下一篇:Youtube Reports API 教學 - 最後一次做 OAuth2.0 授權