YouTube 分析 API 行为空

2024-03-05

我知道这个问题以前已经被回答过,但我似乎有一个不同的问题。直到几天前,我对 YouTube 的查询从未出现过问题。然而现在,每次我查询任何视频上的数据时,实际视频数据行都会以单个空数组的形式返回。

这是我的完整代码:

# -*- coding: utf-8 -*-

import os
import google.oauth2.credentials
import google_auth_oauthlib.flow
from googleapiclient.discovery import build
from googleapiclient.errors import HttpError
from google_auth_oauthlib.flow import InstalledAppFlow
import pandas as pd
import csv


SCOPES = ['https://www.googleapis.com/auth/yt-analytics.readonly']

API_SERVICE_NAME = 'youtubeAnalytics'
API_VERSION = 'v2'
CLIENT_SECRETS_FILE = 'CLIENT_SECRET_FILE.json'

def get_service():
  flow = InstalledAppFlow.from_client_secrets_file(CLIENT_SECRETS_FILE, SCOPES)
  credentials = flow.run_console()
  #builds api-specific service
  return build(API_SERVICE_NAME, API_VERSION, credentials = credentials)

def execute_api_request(client_library_function, **kwargs):
  response = client_library_function(
    **kwargs
  ).execute()

  print(response)

columnHeaders = []

# create a CSV output for video list    
csvFile = open('video_result.csv','w')
csvWriter = csv.writer(csvFile)
csvWriter.writerow(["views","comments","likes","estimatedMinutesWatched","averageViewDuration"])


if __name__ == '__main__':
  # Disable OAuthlib's HTTPs verification when running locally.
  # *DO NOT* leave this option enabled when running in production.
  os.environ['OAUTHLIB_INSECURE_TRANSPORT'] = '1'

  youtubeAnalytics = get_service()

  execute_api_request(
      youtubeAnalytics.reports().query,
      ids='channel==UCU_N4jDOub9J8splDAPiMWA',

      #needs to be of form YYYY-MM-DD
      startDate='2018-01-01',
      endDate='2018-05-01',
      metrics='views,comments,likes,dislikes,estimatedMinutesWatched,averageViewDuration',
      dimensions='day',
      filters='video==ZeY6BKqIZGk,YKFWUX9w4eY,bDPdrWS-YUc'
      )

您可以在报告:查询 https://developers.google.com/youtube/analytics/reference/reports/query您需要使用新范围的首页:

https://www.googleapis.com/auth/youtube.readonly

而不是旧的:

https://www.googleapis.com/auth/yt-analytics.readonly 

更改范围后,请重新进行身份验证(删除旧凭据)以使新范围生效。

这也在这个论坛 https://productforums.google.com/forum/#!msg/youtube/e08jHBGtA_w/nksdr9S9AQAJ0.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

YouTube 分析 API 行为空 的相关文章

随机推荐

  • 使用 EF、存储库、实体清理解决方案(项目)结构

    我喜欢保持项目的结构尽可能干净 样本 BlogApp sln BlogApp Data BlogModel edmx the EF mappings Post cs I end up having partial classes in he
  • EL表达式语言中的instanceof检查

    有没有办法执行instanceof入住 EL 吗 E g
  • 如何用刻度线包裹 D3 标签

    我正在尝试让我的标签正确包装 我需要使刻度线和标签相匹配 我正在对标签使用换行功能 但无法使其与 tspan 一起使用 工作演示 https codesandbox io s react d3 pie chart forked nhh85
  • 为什么使用 SimpleDateFormat 时出现 ParseException [重复]

    这个问题在这里已经有答案了 我用eclipse写了下面的代码 String d 2014 6 1 21 05 36 SimpleDateFormat sdf new SimpleDateFormat yyyy MM dd HH mm ss
  • MySQL 中的条件内连接语句

    有没有一种方法可以根据另一个表中字段的值有条件地更改我要内部联接的表 这是我到目前为止得到的 但它是错误的 SELECT j jobID j jobNumber CASE WHEN j idType dealership THEN d de
  • GCD:如何更改计时器触发间隔

    无论如何 这听起来可能是一个新手问题 我对 GCD 很陌生 我有以下代码 int interval 2 int leeway 0 dispatch queue t queue dispatch get global queue DISPAT
  • Scrapy 抓取 div 具有多个类?

    我正在尝试使用 产品 类来获取 div 问题是 一些具有 product 类的 div 也具有 product small 类 所以当我使用xpath div class product 它仅捕获具有一个类的 div 而不捕获多个类的 di
  • 使用 PowerShell 对文件进行 AES 加密

    我能够使用此脚本成功对文件进行 AES 加密here https gallery technet microsoft com EncryptDecrypt files use 65e7ae5d file 165403 14 使用 Windo
  • 通过 Python 更改 Konsole 标题

    如何更改 Python 中的 Konsole 标题 我找到了这段代码 gt gt gt import sys gt gt gt sys stdout write x1b 2 test x07 但它仅适用于 Gnome 终端 不适用于 Kon
  • 如何从 C# 执行批处理文件?

    解决方案见文末 我不认为这会很难 我有一个命令文件 da cmd 其中包含 copy b d 7zS sfx d config txt d files 7z d setup exe 但 C 的这些行不会执行它 Process Start d
  • 更改 pdf 和非 Google 文档(EDU 域)的 acl

    我在尝试从 Google Apps 脚本 Google Apps for Education 更改文件所有权时收到此错误 GDataServiceException您尚无法更改该项目的所有者 我们正在努力 相同的代码适用于 Google A
  • 如何在mysql中存储类型可以是数字、日期或字符串的数据

    我们正在开发一个监控系统 在我们的系统中 值是由运行在不同服务器上的代理报告的 报告的观察结果可以是如下值 一个数值 例如 CPU USAGE 55 表示 55 的 CPU 处于使用状态 使用 某些事件被解雇 例如 备份完成 状态 例如SQ
  • PHP 中 preg_replace() 的字符串的最大长度?

    我发现如果我尝试在很长的字符串上使用 preg replace PHP 会向我的浏览器返回一个空页面 而不显示错误消息 我能够在我的测试环境中重现这个错误 preg replace 可以处理的字符串的最大长度是多少 是否可以增加这个长度 对
  • Firestore 查询 - 一对多关系

    我将开发 Android 移动应用程序并使用 Firebase 作为后端 我是 NoSql Firestore 的新手 在我的应用程序中 用户有很多主题 一个主题有很多帖子 帖子有很多评论和一张图片 用户也有很多追随者 在这种情况下 我如何
  • C# 4.0:将动态转换为静态

    这是一个与我问的另一个问题相关的分支问题here https stackoverflow com questions 2783616 net 4 0 dynamic object used statically 我将其分开 因为这实际上是一
  • Visual Studio 第一次启动需要很长时间

    我在 Windows 7 64 位计算机 RAM 为 6 GB 上下载并安装了 Visual Studio 2013 Profession Trial 但是 当我第一次启动它时 它说 我们正在准备就绪 感谢您的耐心等待 它已经持续了大约一个
  • 无框架的 C++ GUI

    据我了解 没有办法让 C GUI 设计器将您的应用程序作为一个独立的可执行文件发布 所有 3rd 方框架都以 dll s 等形式添加依赖项 无论是 MFC Qt WTL wxWidgets GTK 这让我只剩下一种解决方案 使用 Win32
  • 为什么八进制序列 '\0101' 不等于十进制 65?

    考虑这个 C 程序 unsigned char c2 0101 printf c d n c2 c2 我相信输出应该是 A 65但实际输出是1 49 推理 字符常量中以 0 作为前缀 声明为八进制格式 而 101 的八进制值为 65 那么
  • 定时功能

    警告 这有点递归 我回答了这个问题 Python 如何获取列表中最长元素之前的所有元素 https stackoverflow com questions 8740018 pythonhow can i get all the elemen
  • YouTube 分析 API 行为空

    我知道这个问题以前已经被回答过 但我似乎有一个不同的问题 直到几天前 我对 YouTube 的查询从未出现过问题 然而现在 每次我查询任何视频上的数据时 实际视频数据行都会以单个空数组的形式返回 这是我的完整代码 coding utf 8