Youtube Analytics API 教学 - OAuth2.0 开放授权 (1)

「鲑鱼均,因为一场鲑鱼之乱被主管称为鲑鱼世代,广义来说以年龄和脸蛋分类的话这应该算是一种 KNN 的机器学习,不正经的数据分析师,毕业後把人生暂停了半年,在 Google 和 AWS 办过几场演讲,缓下脚步的同时找了份跨领域工作。偶而慢跑、爱跟小动物玩耍。曾立过很多志,最近是希望当一个有细节的人。」


Youtube Analytics API 教学 - OAuth2.0 开放授权 (1)

YouTube Analytics API 的使用牵涉了你帐户中的营利观看与各个影片的表现,更白话的说法就是你创作者工作室 Youtube Studio 中的资讯,都能够被这个功能所抓出来,他需要具有高度的验证与安全性,但也同时给予了影音串流和数位行销的工作者,有了更加弹性的资料运用方式,更灵活的追踪每 Youtube 影片的影片资讯。这篇是 Python - 数位行销的 Youtube 分析教学系列文章的第 15 篇,也是我参加 2021 iThome 铁人赛中系列文章的第 15 天。

系列文章:Python — 数位行销分析与 Youtube API 教学
昨日回顾:小知识 - Google Sheets 与 Excel 世仇之战

关於 Google Cloud Platform

GCP

虽然其实已经有介绍过了,但因为有开放授权 OAuth 2.0 consent 设定需求,所以在这边再简单介绍一下 Google Cloud Platform,在使用 Youtube API 前必须要先注册 Google Cloud Platform 的平台帐号密码,帐号密码是与 Google 帐户连动的,因此可以直接利用 Google 登入

Google Cloud Platform 是由 Google 提供的云端运算服务平台,提供了云端运算平台服务与无服务器运算环境,同性质的云端平台也包含了 Amazon AWS,以及 Microsoft Azure 云端平台,而因为 Youtube 本身隶属於 Google 的子公司,Youtube API 在 Google Cloud Platform 平台也拥有较好的支援性与相容性,因此该系列文章会以 Google Cloud Platform 为主要的说明工具‧

串接 Google Cloud Platform 和 Youtube Analytics API

OAuth2.0 是一种管理第三方帐户与 Google 连结方法,可以将某些第三方应用程序或服务 (例如社群媒体、音乐串流和线上购物) 连结到 Google 帐户,藉此改善使用体验。当您将 Google 帐户与第三方帐户建立连结後,我们使用时就能够利用 Python 来抓取其中的资料,未来再应用上如果想要存取使用者的相关资料时,就必须要透过 OAuth 的授权来取得 token (可以把它想像为一种金钥),再使用 token 藉由 Google 来取得该名使用者所授权的资源。我们可以藉由Google Cloud Platform 和 Google 帐户连动的的方式,直接利用 Google 登入 Google Cloud Platform 的主要介面平台。拿之前同样的专案 "iThome-2021-This-is-Project" 来进行。

  • 选取专案 Select
    我们进行该专案的选取,我们在 Select Project 的地方可以看见 iThome-2021-This-is-Project 这个专案的内容换句话说也就是接下来的开发跟串接内容会在这个专案内进行。未设置过 Project 可以回到 Day2 开始:
    (Youtube Data API - 简介与建立 GCP 专案)

Select

  • 进入 API Library
    当我们有需要在 Google Cloud Platform 存取或是呼叫 API 的使用需求时,我们能够在 API Library 查看所有 Google Cloud Platform 支援的 API 文件资讯以及服务

Library-An

  • 开启 Youtube Analytics API
    在 Library 中点选 YouTube Analytics API 後 进入内部将 API 打开(Enable),这样就等於说有开放该 API 的使用权限了,Analytics API 的功能很简单,就是检索您的 YouTube 分析数据,与你个人帐户有关的资料都会跟他相关。而 Youtube Data API 在前几天的贴文有说明过了,而关於 Reporting API 的内容在未来後续的文章进行说明,你可以根据你的个人使用状况决定要不要先一并开启。

Youtube Analytics API

  • YouTube Analytics API key 的申请与使用
    开启 Library 内的 API 後我们回到左方的选单,点选旁边按钮来到 OAuth 同意画面 (consent screen)

Library2

设定你的 OAuth consent screen

YouTube Analytics API 的使用与个人资料与营收息息相关,在安全机制的保护下相较来的更加严谨,除了 API Key (类似於你的身分证) 以外,还会需要 OAuth client ID 的保护,通俗的说法你可以想像成手机简讯的认证,让你在抓取资料前有多一步安全机制,确保是你本人使用。 在取得凭证前要先设定 "OAuth consent screen",一进来会有两种选择分别为:

  • 内部:提供给 G Suite 方案的帐号使用,能限制只有该公司机构人员登入
  • 外部:提供给所有类型的 Google 帐号使用

consent screen

决定你所要呈现给用户的讯息

设定 OAuth consent screen,我们从下图"右边"的范例可以知道这步骤代表的是这些信息如何呈现给用户,未来用户在使用我们的 OAuth 验证时,有权限知道开发者与开发条例,我们会如何应用这些资料等等,这个步骤涵盖了 4 个重点,完成後底下就按照自己的需求填写,并且进行到下一步。

  • Name 你的应用名称和向用户提供的电子邮件地址
  • Logo 你的商标或图片(这边我是放可爱的 doge)
  • Allow 你请求的数据或范围,您将在下一步中添加这些资讯
  • Trust 指向你应用的隐私政策和服务条款的链接

consent screen

  • 设定 Youtube API 的 Scopes 权限,也就是开放哪些 API Scopes 的使用,可以设定所有的 Youtube API 开放,未来比较好操作

Scopes

  • 将自己加入 Test users 中, TestUser 可以限制在 Publishing status 为测试状态 (Testing) 时,仅有测试用户才能访问该应用程序,而每个应用程序验证前允许的用户上限为 100 人,并且要注意用户新增後无法进行删除。设定在 Test User 中设定测试帐号,这个测试帐号在 OAuth consent screen 未发布的情况下可以进入进行测试,因此开发者需要记得进去设定才能够有存取的权限。

TestUser

今天说明了 OAuth2.0 开放授权设定

工程师俗话说,环境设定会花费最多的时间其实就是这样,本章节虽然复杂,但照着图片步骤执行应该是能够顺利执行的,如果有时间也欢迎看看我的夥伴们的文章

lu23770127 — SASS 基础初学三十天
10u1 — 糟了!是世界奇观!
juck30808 — Python — 数位行销分析与 Youtube API 教学
HLD — 浅谈物件导向与Design Pattern介绍
SiQing47 — 前端?後端?你早晚都要全端的,何不从现在开始?

Jerry Chien

【鲑鱼均】 现职是 200 多万订阅 Youtuber 的数据分析师,专长在 Python 的开发与使用,大学虽然是资讯背景但总是斜杠跑到商管行销领域,以工作角度来说的话,待过 FMCG、通讯软件、社群影音产业,也算是个数位行销体系出生的资讯人。这 30 天铁人挑战赛会从数位行销角度去重新切入数据分析这件事情,期待这个社会中,每个人能在各个角力间不断冲突而渐能找到一个平衡点回归最初的统计建立最终的初心。

下一篇:Youtube Analytics API 教学 - OAuth2.0 开放授权 (2)


<<:  Day_18 NetData

>>:  Day 15:AWS是什麽?30天从动漫/影视作品看AWS服务应用 -《云端情人》part 2

Day 22:贪婪演算法(2)

上一回写到大部分贪婪演算法并非永远正确,那哪些问题适合用它来解呢? 最佳子结构 贪婪演算法既是在过程...

Day12 订单是什麽? 能吃吗

在前些日子里面讲的金流单其实也是订单的一种, 属於商家跟金融服务提供方的订单, 接下来我们要谈的是对...

Day15 javascript 对象介绍

今天咱们要来谈的是JavaScript 对象,JavaScript 中的所有事物都是物件:不论是字串...

30天轻松学会unity自制游戏-制作Boom

之前Boss生产小兵有个小问题,如果你场景做很大,Boss会在後面一直生产小兵,可能你到Boss时,...

从 IT 技术面细说 Search Console 的 27 组数字 KPI (8) :KPI 层级

从 Search Console 可以获得的数字中,最重要的几个 KPI 如下: 外部 KPI:流量...