当我尝试使用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
通过 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
我按照本指南做服务器端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视频.我们检查他们所有的家庭友好.但是,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 Analytics and Reporting Api从视频中提取信息.
当我使用Google帐户登录YouTube时,我可以访问多个YouTube品牌帐户.
使用"试用"来测试API,我只能在切换到此频道所属的品牌帐户时检索频道的数据,否则我会收到403 - 禁止错误.
有没有办法使用我用来登录的Google帐户提取数据?因为一旦我在开发者控制台中创建凭据,它们就会与Google帐户相关联,而不会与品牌帐户相关联.
我的Google帐户在品牌帐户中拥有管理员角色.
我已经搜索了要在请求中使用的onBehalfOfContentOwner字段,但我不知道如何获取此ID,我不确定这是否适用于我的情况,因为我们正在讨论品牌帐户,正确我,如果我错了.
我正在使用Youtube Data API版本3,似乎有一个内部阈值(200)来限制结果的数量.当nextPageToken可用时,api返回一个空列表.我正在尝试从特定频道('UCJEy8aBnqDymMIcJCh72gMw')获取视频列表,它包含超过3K的视频,您只能获得前200个视频,之后您将获得下一个令牌,但项目为空.
这是一个重复的问题,如果你不是它的所有者,YouTube API是否禁止下载视频字幕?,获取YouTube字幕,如果您不是所有者,YouTube API是否禁止下载视频字幕?除非您是所有者或第三方贡献未启用,否则所有人基本上都说不可能通过YouTube API下载字幕.但是,我的问题是如何访问http://downsub.com/或http://www.lilsubs.com/这样的网站可以访问所有字幕?
换句话说,当我自己访问YouTube API时(即使使用youtubepartner和youtube.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版本?他们只是从视频本身或其他东西上刮下来的吗?
我创建了一个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
我收到一封电子邮件,说明我的项目在过去60天内没有访问过或使用过YouTube数据API服务,如果它在30天内处于非活动状态,他们将禁止访问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) youtube-data-api ×10
youtube-api ×7
youtube ×3
python ×2
android ×1
oauth ×1
oauth-2.0 ×1
php ×1
python-3.x ×1
video ×1