我正在使用youtube数据api版本3,以获取顶级YouTube视频,我正在调用这样的REST api:
并获取这样的数据是json格式:
"kind": "youtube#searchResult",
"etag": "adasdasdasdasdas",
"id":
{
"kind": "youtube#video",
"videoId": "123123asdsad12"
},
"snippet":
{
"publishedAt": "date",
"channelId": "Gasdqqweqweqwr123123",
"title": "my tutle",
"description": "xyz",
"thumbnails":
{
"default":
{
"url": "......jpg",
"width": 120,
"height": 90
},
"medium":
{
"url": "......jpg",
"width": 320,
"height": 180
},
"high":
{
"url": "......jpg",
"width": 480,
"height": 360
}
},
"liveBroadcastContent": "none"
}
Run Code Online (Sandbox Code Playgroud)
但是这个数据不包含youtube视频网址,我怎样才能从api获取它?
我已经创建了console应用程序C#.哪个会upload Video从当地开车到youtube.我使用此链接在google api中创建了新应用.我还安装了所有必需的packages使用nuget.当我运行我的应用程序时,我收到错误" 访问被拒绝 "我无法找到问题.
我在Task Run()方法上遇到错误.
using System;
using System.IO;
using System.Reflection;
using System.Threading;
using System.Threading.Tasks;
using Google.Apis.Auth.OAuth2;
using Google.Apis.Services;
using Google.Apis.Upload;
using Google.Apis.Util.Store;
using Google.Apis.YouTube.v3;
using Google.Apis.YouTube.v3.Data;
namespace Google.Apis.YouTube.Samples
{
/// <summary>
/// YouTube Data API v3 sample: create a playlist.
/// Relies on the Google APIs Client Library for .NET, v1.7.0 or higher.
/// See https://developers.google.com/api-client-library/dotnet/get_started
/// </summary>
internal class PlaylistUpdates …Run Code Online (Sandbox Code Playgroud) c# google-api google-data-api google-api-dotnet-client youtube-data-api
我知道在params和url中使用autoplay:0.问题是当我使用loadVideoByID()函数时.最初的视频似乎总是不会自动启动.但是当我在新视频中加载新的自动启动时.我也不希望那个新的自动启动
$(document).ready(function() {
var player;
window.onYouTubePlayerAPIReady = function() {
player = new YT.Player('player', {
height : '390',
width : '640',
videoId : 'JW5meKfy3fY',
playerVars : {
'autoplay' : 0,
'rel' : 0,
'showinfo' : 0,
'egm' : 0,
'showsearch' : 0,
'controls' : 0,
'modestbranding' : 1,
},
events : {
'onReady' : onPlayerReady,
'onStateChange' : onPlayerStateChange
}
});
};
window.onPlayerReady = function(event) {
//event.target.playVideo();
loadNewVid("bHQqvYy5KYo");
};
window.onPlayerStateChange = function(event, element) {
//When the video has ended
if (event.data == …Run Code Online (Sandbox Code Playgroud) javascript jquery youtube-api youtube-javascript-api youtube-data-api
我正试图找出一种方法来使用javascript抓住最多订阅的前5万个youtube频道.这些只需要抓取一次,并存储在一个文件中,用于网页中的自动完成输入.
通过使用参数搜索search:list(/ youtube/v3/search),我已经非常接近获得第一个前50名maxResults=50, order=viewCount, part=snippet, type=channel, fields=nextPageToken,items(snippet(channelId,title))
返回:
{
"nextPageToken": "CDIQAA",
"items": [{
"snippet": {
"channelId": "UC-9-kyTW8ZkZNDHQJ6FgpwQ",
"title": "Music"
}
},{
"snippet": {
"channelId": "UC-lHJZR3Gqxm24_Vd_AJ5Yw",
"title": "PewDiePie"
}
},{
"snippet": {
"channelId": "UCVPYbobPRzz0SjinWekjUBw",
"title": "???????? ?????"
}
},{
"snippet": {
"channelId": "UCam8T03EOFBsNdR0thrFHdQ",
"title": "VEGETTA777"
}
},...
Run Code Online (Sandbox Code Playgroud)
然后,我所要做的就是使用nextPageToken获取前50000的列表来获取1000次.
不幸的是,通过排序relevance,rating,viewCount,或没有不屈服的50个订阅的频道,并有不似乎是任何形式的方式由用户数量根据文件对它们进行排序; 所以好像我被卡住了.
我创建了一个使用Youtube api的python应用程序(所以示例是在python中,但实际上并不重要,概念应该是相同的).我设法让它在我可以连接的地方工作并进行api调用.但是,当我连接到api时,我必须定义一个流程来检查凭证存储文件是否存在.如果没有,那么我必须使用流程手动登录.登录文件(main.py-oauth2.json)后,使用令牌创建.我希望能够下载凭证,而无需手动登录.我希望有一种方法可以为该令牌发出POST请求,就像我在这里看到的那样,但我已经能够使用Youtube进行此操作API.有谁知道如何实现所需的功能?
main.py
flow = flow_from_clientsecrets(CLIENT_SECRETS_FILE,
scope=YOUTUBE_UPLOAD_SCOPE,
message=MISSING_CLIENT_SECRETS_MESSAGE)
storage = Storage(OAUTH_CREDENTIALS)
credentials = storage.get()
if credentials is None or credentials.invalid:
# manual / UI login
credentials = run_flow(flow, storage, args)
Run Code Online (Sandbox Code Playgroud)
尝试使用Google服务帐户会在上传时抛出401错误.
credentials = Credentials.from_service_account_file(
SERVICE_ACCOUNT_FILE, scopes=YOUTUBE_UPLOAD_SCOPES)
if credentials is None or credentials.expired:
raise ValueError('Invalid credentials')
return build(YOUTUBE_API_SERVICE_NAME, YOUTUBE_API_VERSION,
credentials=credentials)
...
status, response = insert_request.next_chunk()
# <HttpError 401 "Unauthorized">
Run Code Online (Sandbox Code Playgroud)
证据可以做到这一点
oauth2client.service_account.ServiceAccountCredentials类仅用于OAuth 2.0服务帐户.这些服务器到服务器API调用不涉及最终用户,因此您可以直接创建此对象而无需使用Flow对象.
https://developers.google.com/identity/protocols/OAuth2#serviceaccount
我现在一直在努力使用Youtube的API v3而且我无法按照我想要的方式工作.我的目标是将选定播放列表中的最新视频加载到我的网站中.问题是我只是我回复中最老的视频.
要加载播放列表,我请求以下API URI:https: //www.googleapis.com/youtube/v3/playlistItems
以下是请求示例(只需点击执行):http: //developers.google.com/apis-explorer/#p/youtube/v3/youtube.playlistItems.list?part = id%252Csnippet%2522CtentDetails%2522Cstatus&playlistId = PLOU2XLYxmsIKGo-dgliIJQNZ6L3G8UV4b&_h = 1&
如何对结果进行排序并首先获取最新视频?我在文档中找不到任何内容,我一直在谷歌上搜索没有任何运气.如果您无法对结果进行排序,则此API没有任何意义.唯一的方法是通过令牌继续加载下一页加载所有视频,但这只是疯了.
任何的想法?听起来像一个基本问题,但我找不到解决方案......
如何在Json中获得最受欢迎或最受国家观看的youtube趋势.
以前使用youtube feed v2.它似乎已被弃用,https: //gdata.youtube.com/feeds/api/standardfeeds/IN/most_popular ?v = 2
我可以获取youtube api v3或任何其他结果,例如趋势信息中心, https://www.youtube.com/trendsdashboard
我正在尝试使用Youtube Data API v3在Android上进行搜索,但是当我尝试使用我的API密钥进行搜索时,我始终会收到以下消息:
{
"error": {
"errors": [
{
"domain": "usageLimits",
"reason": "accessNotConfigured",
"message": "Access Not Configured. Please use Google Developers Console to activate the API for your project."
}
],
"code": 403,
"message": "Access Not Configured. Please use Google Developers Console to activate the API for your project."
}
}
Run Code Online (Sandbox Code Playgroud)
我在控制台中将Youtube Data API设置为on.我一直试图弄清楚这几个小时.有谁知道什么是错的?
android youtube-api google-api-java-client android-youtube-api youtube-data-api
我可以获取直播列表:https://developers.google.com/youtube/v3/live/docs/liveStreams/list#examples 但是如何获取直播状态和直播链接或ID在Android中使用youtube v3 api的频道?
关于如何增加配额限制,这不是另一个问题。今天,Google将每天查询的youtube api v3配额限制从我的情况下的5000万减少到了0!有人有100万个查询,每天有10万个查询,但是现在每个人只有10000个单位。它非常低,所有严重的生产应用程序都将很快被暂停。这种条件是不能接受的。这是在没有任何通知的情况下发生的!在云控制台或邮箱中没有消息!这意味着我们所有人都需要完全关闭我们的项目。数千名涉及youtube api项目的开发人员,我们编写了许多代码来使所有事情正常运行,并花费了大量时间和精力。
由于Google不提供youtube api的任何支持,因此无法解决该问题。我试图与所有渠道联系youtube api团队,大约3个月前填写了全新的配额申请表-仍然没有答案或积极的变化。
在官方文档和Google Cloud Console页面中,stackoverflow是我们唯一可获取帮助的地方,因为google人员正在监视与google服务关联的标签。也许这个话题比我之前的https://issuetracker.google.com/issues/79183616汇总了更多反馈
所以我想问其他开发人员,您打算如何处理您的项目,每天1万条查询就足够了吗?
youtube-data-api ×10
youtube-api ×8
google-api ×3
android ×2
javascript ×2
youtube ×2
c# ×1
jquery ×1
oauth-2.0 ×1
python ×1
quota ×1
video ×1