Youtube Analytics API 教学 - 请出示身分 Python OAuth 2.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


<<:  勒瑰恩谈写作 (1) 文法与句子

>>:  30天打造品牌特色电商网站 Day.19 文字的排版

Day 0x16 UVa10235 Simply Emirp

Virtual Judge ZeroJudge 题意 输入一整数,输出是否为质数或 Emirp 需...

12. 为何要订明确的职涯阶梯?

前言 这个演讲蛮适合给那些「公司没有对员工明确的职涯规划或标准」的领导阶层们,帮助大家思考我要怎麽...

从零开始-30日练习开发iOS APP-铁人赛心得 Day-30

从七月暑假开始触碰到 Swift,其实也说长不长说短不短,每天练习各式各样的 UI元件,或是有时需要...

javascript(event)(DAY20)

之前的文章中有介绍到事件处理函式的用途,这边在简单复习一下event是做什麽用的,主要是监听使用者的...

[Day 06] - 用Spring Boot 建立Controller

回顾前一天讲的MVC,下达request到Controller後,由Service去执行资料的 增/...