我刚开始使用 YouTube API。我正在尝试获取每个频道的频道类别,但我不知道如何发出获取类别的请求。
我举一个例子: http: //socialblade.com/youtube/user/pewdiepie
正如您在 pewdiepie 的 Socialblade 统计数据中看到的,上面有一个“渠道类型”,而 pewdiepie 的渠道类型或类别是“游戏”,但是 Socialblade 是如何请求的呢?
我希望你可以帮助我。谢谢。
我正在开发一个 YouTube 直播相关程序。我知道有 API 可以创建/列出/删除广播和直播。但所有这些都假设您的帐户已启用 YouTube 直播。
我尝试过,但未能找到任何可用于在我的帐户上启用 YouTube 直播的 API。有这样的API吗?
我正在开发一款 iOS 应用程序,可以让您开始 YouTube 直播。我想为此广播添加标签。
查看 API 文档上的此页面,我注意到可以为该snippet.tags[]属性设置一个值,这似乎正是我所需要的。GTLYouTubeLiveBroadcastSnippet.h然而,当我看着时;我看到以下属性:
@interface GTLYouTubeLiveBroadcastSnippet : GTLObject
@property (retain) GTLDateTime *actualEndTime;
@property (retain) GTLDateTime *actualStartTime;
@property (copy) NSString *channelId;
@property (retain) GTLDateTime *publishedAt;
@property (retain) GTLDateTime *scheduledEndTime;
@property (retain) GTLDateTime *scheduledStartTime;
@property (retain) GTLYouTubeThumbnailDetails *thumbnails;
@property (copy) NSString *title;
Run Code Online (Sandbox Code Playgroud)
但我没有看到任何有关标签的信息。Google 的朋友们——是否可以创建直播并添加标签?谢谢你!
我正在尝试使用带有所需参数的 jQuery 和 Ajax GET 请求从 Youtube API 获取数据,包括“部分”。GET 请求没问题(代码 200),但是当我看到数据时,我收到错误 400“必需参数:零件”。谁能给我一些提示来克服这个问题?这是我的 jQuery 的一部分,ajax 请求的结果就在下面。
$(document).ready(function(){
console.log('doc ok');
$('#tag-search').submit(function(){
var search_term = {
q: "test"
};
search(search_term);
});
});
function search(search_term) {
console.log('searching ...');
console.dir(search_term);
var search_term = '';
var desireSearch = $ ('#tag').val();
var channelName = 'Iron_Maiden';
$.ajax({
method: 'GET',
url: 'https://www.googleapis.com/youtube/v3/channels?',
part : 'contentDetails',
forUsername: channelName,
key: '(My personal key)',
dataType: 'jsonp'
})
.done(function(results){
var result = results.data;
console.log(result);
});
}
Run Code Online (Sandbox Code Playgroud)
这就是我得到的:
jQuery1900617815546458587_1453343296717 (
{
"error": {
"errors": …Run Code Online (Sandbox Code Playgroud) 已经使用 API 一段时间了,但遇到了一个问题:“youtube.part”上的 400 错误请求。通常不是问题,我想也许我指定了一个不正确的零件,错误消息会告诉我什么是错误的,我可以轻松地更改它,但是,错误如下:
400 Bad Request
{
"code" : 400,
"errors" : [ {
"domain" : "youtube.part",
"location" : "part",
"locationType" : "parameter",
"message" : "{0}",
"reason" : "unexpectedPart"
} ],
"message" : "{0}"
}
Run Code Online (Sandbox Code Playgroud)
通常在"message": "{0}"它应该告诉你哪个部分是错误的。在这里搜索了一下,我似乎找不到解决方案,现在我只指定snippet. 在构建我的更新请求时,我只指定snippet.title snippet.tags[]& snippet.categoryId。
上述内容用于测试环境,并且请求已获得youtube范围授权,因为我使用它将视频上传到同一 youtube 频道。
我自己的想法可能是:
加载后无法直接更新视频(但是,可以列出)
我不知何故遇到了一个错误
对于那些希望重现我所得到的东西的人,我在测试中采取了以下步骤:
使用授权凭据设置 youtube 实例
上传一个随机的小文件到频道(设置视频标题等)
成功返回后尝试按 id 列出视频
使用此 ID,从 youtube 检索视频资源
更改标签部分,保持标题等不变
尝试更新并收到该错误
任何帮助将不胜感激,我真的希望这不是一个明显的解决方案:)
我想使用 Python 从特定的 YouTube 频道获取视频 URL 列表。
首先,我编写了以下代码。
import os
import time
import requests
import pandas as pd
API_KEY = os.environ['API_KEY']
CHANNEL_ID = 'your_searching_channel_id'
base_url = 'https://www.googleapis.com/youtube/v3'
url = base_url + '/search?key=%s&channelId=%s&part=snippet,id&order=date&maxResults=50'
infos = []
Run Code Online (Sandbox Code Playgroud)
但我不知道下一步。
我阅读了 YouTube API HELP,但我无法理解如何构建程序。
我每天尝试从我的服务器上传视频到我的帐户,但浏览器无法访问。我可以在我的桌面上执行此操作,通过运行下面提到的脚本打开浏览器,请求我的权限并完成上传视频所需的完整授权,然后上传视频。
python upload_video.py --file clips/concatenated.mp4 --title testing --desc empty_dec
/Users/devansh.dalal/Desktop/hackathon/tiktoki/venv/lib/python3.7/site-packages/oauth2client/_helpers.py:255: UserWarning: Cannot access upload_video.py-oauth2.json: No such file or directory
warnings.warn(_MISSING_FILE_MESSAGE.format(filename))
Your browser has been opened to visit:
https://accounts.google.com/o/oauth2/auth?client_id=73183172161-48495o1tqgjgih3v7j218av2bghdcm30.apps.googleusercontent.com&redirect_uri=http%3A%2F%2Flocalhost%3A8080%2F&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fyoutube.upload&access_type=offline&response_type=code
If your browser is on a different machine then exit and re-run this
application with the command-line parameter
--noauth_local_webserver
Authentication successful.
Uploading file...
Run Code Online (Sandbox Code Playgroud)
但我想要一个不需要手动授权脚本的解决方案,因为我的服务器是完全安全的。请提出建议?
oauth-2.0 youtube-data-api google-cloud-platform video-upload
编辑以包含 API 响应。
\n\n向API请求
\n\nbase = \'https://www.googleapis.com/youtube/v3/videos\'\nparams = {\n \'part\' : \'snippet,contentDetails\',\n \'id\': <List of Video IDs>,\n \'key\':gkey\n}\n\nresponse = requests.get(base, params).json()\n\nSample Snippet\n\n\n{\'publishedAt\': ***\'2017-11-13T06:06:22Z\'***,\n \'channelId\': \'UCDYetMc6gOLkhIiNzFyrJPA\',\n \'title\': \'Cap\xc3\xadtulo 12 | MasterChef 2017\',\n\n\nRun Code Online (Sandbox Code Playgroud)\n\n的时区是什么response[\'items\'][0][\'snippet\'][\'publishedAt\']?
我已在这里搜索了整个文档,但找不到此关键信息。
\n\n提前致谢!!
\n自 2016 年起,不再可以通过 YouTube Data API v3 ( https://developers.google.com/youtube/v3/revision_history )获取观看历史记录
是否有任何解决方法可以从经过身份验证的用户处获取此信息?
我需要通过 API 找出频道上订阅者的确切数量。
该频道不在我的帐户上,但我有权观看。我需要 上显示的确切金额studio.youtube.com。
我用:
https://www.googleapis.com/youtube/v3/channels?part=statistics,snippet&mine=true&access_token=[your_access_token]。
但它只显示个人帐户,如果你替换mine为managedByMe,我会看到一个错误:

youtube-data-api ×10
youtube-api ×7
youtube ×3
javascript ×2
ajax ×1
api ×1
google-api ×1
ios ×1
java ×1
jquery ×1
node.js ×1
oauth-2.0 ×1
python ×1
video-upload ×1