标签: youtube-data-api

Youtube API密钥

当我尝试使用YouTube API for Search时,出现此错误:

出现服务错误:403:请求未指定任何Android程序包名称或签名证书指纹.请确保客户端正在发送它们或使用API​​控制台更新您的密钥限制.

在MainActivity中我有这个代码:

youtube = new YouTube.Builder(new NetHttpTransport(), JSON_FACTORY, new HttpRequestInitializer() {
                    @Override
                    public void initialize(HttpRequest httpRequest) throws IOException {

                    }
                }).setYouTubeRequestInitializer(new YouTubeRequestInitializer(apiKey)).setApplicationName("Some Name").build();
Run Code Online (Sandbox Code Playgroud)

在云控制台中,我有一个Android的ApiKey,包名设置和使用keytool命令获得的SHA-1号.

android youtube-api android-youtube-api android-studio youtube-data-api

7
推荐指数
2
解决办法
5604
查看次数

Youtube 直播 API:liveStreamingNotEnabled

通过 PHP 使用 Youtube API 在 OAuth 授权的用户帐户上创建事件。该代码适用于几乎所有人,除了我有几个用户收到 liveStreamingNotEnabled 错误,详情见此处https://developers.google.com/youtube/v3/live/docs/liveBroadcasts/insert。显然,我认为他们的帐户未启用直播,因此请询问他们的帐户是否经过验证、信誉良好以及是否在https://www.youtube.com/features上显示为已启用,这通常会为他们指明正确的方向修复它。

但是,我刚刚获得了一个经过验证且信誉良好的用户帐户的访问权限,并且 YT 功能页面将他的帐户显示为启用了实时流媒体,如下所示 在此处输入图片说明

更令人困惑的是,我可以从他的帐户中手动创建和开始直播。

任何想法可能导致这种情况?快把我逼疯!

php youtube youtube-api youtube-data-api youtube-livestreaming-api

7
推荐指数
1
解决办法
621
查看次数

未在youtube OAuth中获取刷新令牌

我按照指南做服务器端oauth .

我顺利地完成了OAuth的,但我没有收到refresh_token用于刷新和访问令牌兑换授权码的步骤:

请求:

POST /o/oauth2/token HTTP/1.1
HOST: accounts.google.com
content-type: application/x-www-form-urlencoded
content-length: 260

code=4/KEOuzih9jwfnHj7Rl1DeqHhcJF0goKPwtwR5IQ09ieg&client_id=****.apps.googleusercontent.com&client_secret=****&redirect_uri=http%3A%2F%2Flocalhost%3A8000%2FsSignIn.html&grant_type=authorization_code
Run Code Online (Sandbox Code Playgroud)

响应:

{
  "access_token" : "****",
  "expires_in" : 3580,
  "token_type" : "Bearer"
}
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?

youtube oauth youtube-api oauth-2.0 youtube-data-api

7
推荐指数
1
解决办法
2764
查看次数

如何判断youtube视频的内容何时因youtube API而发生变化?

我有一个网站,允许用户链接YouTube视频.我们检查他们所有的家庭友好.但是,youtube视频创作者可以修剪视频,这意味着更改视频的开始和结束时间,更改显示的内容.这种类型的更改可以缩小视频,或者可以恢复为延长视频或两者的组合,这可能导致完全不同的视频内容集.

我们希望能够检测到这些类型的更改,并在实际显示的帧已更改时重新检查视频.我们不能简单地查看更改的持续时间,因为用户可以撤消修剪然后重新修剪到完全相同的长度,我们不会注意到.修剪也不会改变视频的发布日期.

我们正在使用youtube api,例如:

https://www.googleapis.com/youtube/v3/videos?part=snippet%2CcontentDetails%2CrecordingDetails%2Cstatus&id=[videoId]&key=[apiKey]
Run Code Online (Sandbox Code Playgroud)

这为我们提供了大量数据,包括:

Duration - this doesn't always change when a video is trimmed (undo trim, trim again)
Title
Etag - this changes all the time
Thumbnails - These don't change when you trim
PublishedAt - this doesn't change when you trim
Run Code Online (Sandbox Code Playgroud)

Etag的变化确实表明了变化,但它经常变化 - 任何时候标题改变,以及许多其他类型的变化.因此,我们会错误地提醒我们不需要适度的变更.

我们还考虑过抓取随机帧并随着时间的推移进行比较,但是没有公共API.

那么,我们如何使用API​​来检测视频内容是否已更改?

我在这里问,因为youtube建议在这里询问我在此问题中包含的标签:https://developers.google.com/youtube/v3/support

另请注意,如果使用现有API无法解决此问题,则表示向网站提交youtube链接的用户可以随意更改视频内容,而网站无法以合理的方式更改内容.即Youtube没有给消费者一种方法来验证给定videoId中的帧和声音不会改变.

youtube video youtube-api youtube-data-api

7
推荐指数
1
解决办法
505
查看次数

YouTube API - 使用Google管理员帐户访问多个YouTube频道(品牌帐户)

我需要使用YouTube Analytics and Reporting Api从视频中提取信息.

当我使用Google帐户登录YouTube时,我可以访问多个YouTube品牌帐户.

使用"试用"来测试API,我只能在切换到此频道所属的品牌帐户时检索频道的数据,否则我会收到403 - 禁止错误.

有没有办法使用我用来登录的Google帐户提取数据?因为一旦我在开发者控制台中创建凭据,它们就会与Google帐户相关联,而不会与品牌帐户相关联.

我的Google帐户在品牌帐户中拥有管理员角色.

我已经搜索了要在请求中使用的onBehalfOfContentOwner字段,但我不知道如何获取此ID,我不确定这是否适用于我的情况,因为我们正在讨论品牌帐户,正确我,如果我错了.

youtube-api youtube-data-api youtube-analytics-api

7
推荐指数
2
解决办法
4041
查看次数

搜索提供nextPageToken但项目为空

我正在使用Youtube Data API版本3,似乎有一个内部阈值(200)来限制结果的数量.当nextPageToken可用时,api返回一个空列表.我正在尝试从特定频道('UCJEy8aBnqDymMIcJCh72gMw')获取视频列表,它包含超过3K的视频,您只能获得前200个视频,之后您将获得下一个令牌,但项目为空.

https://www.googleapis.com/youtube/v3/search?pageToken=XXXXX&order=date&part=snippet&key=XXXXXXXX&channelId=UCJEy8aBnqDymMIcJCh72gMw

youtube-data-api

7
推荐指数
0
解决办法
669
查看次数

某些网站如何下载YouTube字幕?

这是一个重复的问题,如果你不是它的所有者,YouTube API是否禁止下载视频字幕?,获取YouTube字幕,如果您不是所有者,YouTube API是否禁止下载视频字幕?除非您是所有者或第三方贡献未启用,否则所有人基本上都说不可能通过YouTube API下载字幕.但是,我的问题是如何访问http://downsub.com/http://www.lilsubs.com/这样的网站可以访问所有字幕?

换句话说,当我自己访问YouTube API时(即使使用youtubepartneryoutube.force-ssl范围),我只能下载某些视频的标题,但是当我尝试403: The permissions associated with the request are not sufficient to download the caption track. The request might not be properly authorized, or the video order might not have enabled third-party contributions for this caption.在这些其他网站上为我失败的相同视频时,它可以正常工作.我假设他们使用YouTube API访问字幕,但他们使用了什么特别的酱?一些特殊的合作伙伴关 一个不同的API版本?他们只是从视频本身或其他东西上刮下来的吗?

youtube-api youtube-data-api

7
推荐指数
2
解决办法
2200
查看次数

如何更新播放列表中的所有YouTube视频说明?

我创建了一个client_secrets.json文件,并编写了我从谷歌api的控制台获得的所有必填字段.现在我有一个测试播放列表,对该播放列表中的所有视频都有相同的描述,我想更新该播放列表,并使用python代码更改它的描述.我已经复制了https://developers.google.com/youtube/v3/docs/playlists/update#usage开发人员谷歌提供的这个链接的代码,现在我不知道接下来的步骤是什么,因为我是python编程的新手.任何人都可以指导我运行此程序并更新播放列表说明在此先感谢

这是我复制的代码

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

CLIENT_SECRETS_FILE = "client_secrets.json"

SCOPES = ['https://www.googleapis.com/auth/youtube.force-ssl']
API_SERVICE_NAME = 'youtube'
API_VERSION = 'v3'

def get_authenticated_service():
  flow = InstalledAppFlow.from_client_secrets_file(CLIENT_SECRETS_FILE, SCOPES)
  credentials = flow.run_console()
  return build(API_SERVICE_NAME, API_VERSION, credentials = credentials)

def print_response(response):
  print(response)

def build_resource(properties):
  resource = {}
  for p in properties:
    prop_array = p.split('.')
    ref = resource
    for pa in range(0, len(prop_array)):
      is_array = False
      key = prop_array[pa]

      if key[-2:] …
Run Code Online (Sandbox Code Playgroud)

python youtube-api python-3.x youtube-data-api google-console-developer

7
推荐指数
1
解决办法
323
查看次数

如何根据项目编号找出与Youtube数据API服务相关的项目?

我收到一封电子邮件,说明我的项目在过去60天内没有访问过或使用过YouTube数据API服务,如果它在30天内处于非活动状态,他们将禁止访问API.该项目仅由一个数字引用,我不知道"项目"是什么或如何根据该数字找到它.

youtube-data-api

7
推荐指数
1
解决办法
1230
查看次数

使用 Google API python 库发出请求时,您在哪里指定 API 密钥?

我开始考虑将 YouTube API 与 python 一起使用,但文档中给出的示例似乎与快速入门指南不一致。

可以在此处找到快速入门指南,其中建议您从此处的 API 文档中获取一些示例代码,这些代码将从 API请求“YouTube 开发人员”频道的一些信息。现在在快速入门指南中,他们说用您的 API 密钥替换“YOUR_API_KEY”字符串,但正如您从示例代码中看到的那样,它不存在。

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

# Sample Python code for youtube.channels.list
# See instructions for running these code samples locally:
# https://developers.google.com/explorer-help/guides/code_samples#python

import os

import google_auth_oauthlib.flow
import googleapiclient.discovery
import googleapiclient.errors

scopes = ["https://www.googleapis.com/auth/youtube.readonly"]

def main():
    # 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 = "youtube"
    api_version = "v3"
    client_secrets_file = …
Run Code Online (Sandbox Code Playgroud)

python youtube-data-api

7
推荐指数
1
解决办法
2448
查看次数