Youtube API - 如何排除未列出的视频?
Youtube API - how can I exclude unlisted videos?
我正在使用 google api 客户端来调用 YouTube 数据和 YouTube 分析 API 并获取视频统计信息。我已通过身份验证,成为我正在查询的频道的所有者。
我只想获取频道中上传的 public 个视频。我首先查询 YouTube 数据 API 以获取 uploads
播放列表中的视频列表,获得 video ids
列表后,我为每个视频调用 youtube Analytics API并获得我需要的统计数据。
我遇到的问题是,当我列出 uploads
播放列表中的所有视频时,我得到了数十万 (!!!) 的 unlisted
视频,我不需要这些.
我无法下载整个列表然后检查状态以仅保留 public 个视频,因为数量太大而且我已经达到每日配额。这也是一种非常低效的方法。
有没有办法只列出特定播放列表的状态为 public
的视频?
这是我目前使用的方法:
data = service.playlistItems().list(
part="snippet,status",
playlistId=playlistID,
maxResults="50",
).execute()
我在 youtube API 文档中找不到有关如何实现此目的的任何文档。
您是否尝试过使用 PlaylistItems endpoint by not being authenticated, but, instead, using only your API key 参数?
我在这里假设——尽管我自己无法检查——当未通过身份验证时,端点响应将仅包含 public.
的视频
根据 the doc,用户可以通过两种方式访问任何给定的 API 端点:使用 API 密钥,或者通过 OAuth 令牌。
任何用户都可以向 Google 开发者请求 console an API key that he will pass to his endpoint of interest as the key parameter. In case of using the Python API Client Library, your code will have to be similar to this:
from googleapiclient.discovery import build
service = build(serviceName = 'youtube', version = 'v3', developerKey = DEVELOPER_KEY)
其中 DEVELOPER_KEY 是从 Google 获得的 API 密钥字符串。请注意,这样的 API 密钥是用户的私人信息。
就是这样:使用 API 密钥代替 OAuth。
此 doc 文本清楚地描述了 API 的 身份验证 和 授权 概念。
基本上,我假设当使用 API 密钥而不是通过 OAuth 进行身份验证时 - 即 build
接收参数 developerKey
而不是 credentials
-- 那么端点的响应将仅包含 public 视频,即使在相应的 API 键(作为参数 developerKey
传递)的情况下) 源自您的初始身份验证帐户。
我正在使用 google api 客户端来调用 YouTube 数据和 YouTube 分析 API 并获取视频统计信息。我已通过身份验证,成为我正在查询的频道的所有者。
我只想获取频道中上传的 public 个视频。我首先查询 YouTube 数据 API 以获取 uploads
播放列表中的视频列表,获得 video ids
列表后,我为每个视频调用 youtube Analytics API并获得我需要的统计数据。
我遇到的问题是,当我列出 uploads
播放列表中的所有视频时,我得到了数十万 (!!!) 的 unlisted
视频,我不需要这些.
我无法下载整个列表然后检查状态以仅保留 public 个视频,因为数量太大而且我已经达到每日配额。这也是一种非常低效的方法。
有没有办法只列出特定播放列表的状态为 public
的视频?
这是我目前使用的方法:
data = service.playlistItems().list(
part="snippet,status",
playlistId=playlistID,
maxResults="50",
).execute()
我在 youtube API 文档中找不到有关如何实现此目的的任何文档。
您是否尝试过使用 PlaylistItems endpoint by not being authenticated, but, instead, using only your API key 参数?
我在这里假设——尽管我自己无法检查——当未通过身份验证时,端点响应将仅包含 public.
的视频根据 the doc,用户可以通过两种方式访问任何给定的 API 端点:使用 API 密钥,或者通过 OAuth 令牌。
任何用户都可以向 Google 开发者请求 console an API key that he will pass to his endpoint of interest as the key parameter. In case of using the Python API Client Library, your code will have to be similar to this:
from googleapiclient.discovery import build
service = build(serviceName = 'youtube', version = 'v3', developerKey = DEVELOPER_KEY)
其中 DEVELOPER_KEY 是从 Google 获得的 API 密钥字符串。请注意,这样的 API 密钥是用户的私人信息。
就是这样:使用 API 密钥代替 OAuth。
此 doc 文本清楚地描述了 API 的 身份验证 和 授权 概念。
基本上,我假设当使用 API 密钥而不是通过 OAuth 进行身份验证时 - 即 build
接收参数 developerKey
而不是 credentials
-- 那么端点的响应将仅包含 public 视频,即使在相应的 API 键(作为参数 developerKey
传递)的情况下) 源自您的初始身份验证帐户。