Articles of youtube

Youtube API – 通过topicIdsearch在第19页停止

是否有任何理由为什么在19个search请求的topicId /m/019_rrvideo后,API发送一个undefined nextPageToken? 从截图中可以看出,最后一个请求的nextPageToken是undefined并且该请求的结果也被logging下来,表明它有一个空的项目列表。 第一个请求的pageInfo属性说: "pageInfo": { "totalResults": 1000000, "resultsPerPage": 50 }, 所以这意味着肯定有20多个要求。 我使用的请求选项是: { part: 'snippet', maxResults: 50, topicId: '/m/019_rr', pageToken: nextPageToken || '', regionCode: 'US', key: config.googleApiKey } 我也确信这不是一个配额问题。 任何帮助将非常感激。

NodeJS将video插入Youtube播放列表

我使用NodeJS,我想在我的脚本中插入一个function插入video到特定的播放列表。 我在互联网上看到了很多,我知道YouTube的API需要OAuth的工作,所以,一些HTML页面/callback获得令牌。 我是否错过了一些东西,或者是不可能在没有任何用户交互的脚本中处理这个令牌? 有这样一个简单的例子吗? 我试过这个使用youtube-api npm: var express = require('express'); var router = express.Router(), Youtube = require("youtube-api"), fs = require('fs'), router.get('/insert', function(req, res, next) { Youtube.authenticate({ type: "oauth" , token: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxZ9F0sVpqEXh" }); var req = Youtube.videos.insert({ "resource": { // Video title and description "snippet": { "title": "Test", "description": "Test video upload via YouTube API" }, […]

YouTube的正则expression式:经testing挑选video和播放列表ID,但Node.js不会

我有以下正则expression式,已经过三个不同的网站testing,以匹配所有的YouTube链接,也捕获videoID和一个可选的播放列表ID。 尽pipe如此,我的Node应用程序除了videoID之外没有任何其他内容: /(?:https?:\/\/)?(?:www\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))((?:\w|-|_){11})(?:(?:\?|\&)index=((?:\d){1,3}))?(?:(?:\?|\&)list=((?:\w|-|_){24}))?(?:\S+)?/g Debuggex演示 我的实际代码: var youtube = /(?:https?:\/\/)?(?:www\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))((?:\w|-|_){11})(?:(?:\?|\&)index=((?:\d){1,3}))?(?:(?:\?|\&)list=((?:\w|-|_){24}))?(?:\S+)?/g; ansCopy = ansCopy.replace(youtube, "^~$1~^~$3~^"); 使用“ http://www.youtube.com/watch?v=VWKdcalZTaA&list=UUlucBMqhrYW4PWuIp8Um_cg&index=46 ”作为testingstring,这应该产生string: "^~VWKdcalZTaA~^~UUlucBMqhrYW4PWuIp8Um_cg~^" 但它会产生: "^~VWKdcalZTaA~^~~^"

Youtube API在node.js Express中使用asynchronous来处理多个相关请求

在我处理数据的自定义模块中,我发送了2个请求,第一个从我的播放列表中获取video列表,第二个使用我从第一个结果获得的videoID发送另一个请求。 因为第二个请求依赖于第一个请求,所以我使用了asynchronous模块的waterfall方法。 要检查这是正常工作,我logging第一个请求中的第二个函数的结果,但网页没有运行,并没有在控制台中返回。 这里有什么问题吗? var data = function(callback) { var request = require('request'), async = require('async'); async.waterfall([ function getVideo (getVideoCallback) { var url = "https://www.googleapis.com/youtube/v3/playlistItems"; var properties = { part: 'snippet, contentDetails', playlistId: 'xxx', key: 'xxx', maxResults: 50 } request({ url:url, qs:properties}, function(err, response, body) { if(err) { console.log(err); return; } body = JSON.parse(body); getVideo(body, […]

使用Javascript从关键字search返回Youtubevideourl

好的,所以我正在为我的服务器制作一个僵尸程序,我想实现的是一个youtube命令。 我一直在寻找所有的东西,看看Youtube API,所有我能find的是他们的search,似乎是一个浏览器 我正在使用nodejs来运行我的笔记本电脑,我的机器人运行discord.js 我有一个类似的命令,做一个MAL和一个城市字典search,但我什么也没有find,也不知道如何做与YouTube的一样 我曾经有一个python机器人的命令,能够应付这个,我也看到其他的Discord机器人也能做到这一点,所以我知道这显然是可能的 基本上我所说的是我需要能够search并从一串search条件返回一个YouTubevideourl(第一个search结果),所以用法看起来像 >>youtube Tunak Tunak Tun 将返回https://www.youtube.com/watch?v=vTIIMJ9tUc8 ,这是该关键字的第一个search结果 编辑: 我已经find了可以做到这一点的python命令,但是已经没有足够的技巧和信心去尝试把它翻译成JavaScript elif prefix and cmd=="youtube" and len(args) > 0: try: yword=args.replace(" ","_") ydata= urlreq.urlopen("http://gdata.youtube.com/feeds/api/videos?vq="+yword+"&racy=include&orderby=relevance&max-results=1") yread= str(ydata.read()) if "<openSearch:totalResults>0</openSearch:totalResults>" in yread: room.message("I got nothin' for ya by the name of "+args) else: trash , yclean=yread.split("<media:player url='http://www.youtube.com/watch?v=",1) yclean , trash=yclean.split("&amp;",1) room.message("http://http://www.youtube.com/watch?v="+yclean,True) except: room.message("Somethin […]

Node googleapis:在短时间内获取错误:invalid_request

我正在使用节点googleapis库向youtube数据api发出请求。 我开始使用passportauthentication用户passport-youtube-v3库。 一切工作正常。 我可以进行身份​​validation,并且可以向YouTube数据API提出授权请求。 但经过一段时间(大约1-2小时),证书似乎已经过期或者变得无效,并且出现以下错误: { Error: Invalid Credentials at Request._callback (/Users/flavio/Code/BA/node_modules/google-auth-library/lib/transporters.js:85:15) at Request.self.callback (/Users/flavio/Code/BA/node_modules/request/request.js:188:22) at emitTwo (events.js:106:13) at Request.emit (events.js:191:7) at Request.<anonymous> (/Users/flavio/Code/BA/node_modules/request/request.js:1171:10) at emitOne (events.js:96:13) at Request.emit (events.js:188:7) at IncomingMessage.<anonymous> (/Users/flavio/Code/BA/node_modules/request/request.js:1091:12) at IncomingMessage.g (events.js:286:16) at emitNone (events.js:91:20) at IncomingMessage.emit (events.js:185:7) at endReadableNT (_stream_readable.js:926:12) at _combinedTickCallback (internal/process/next_tick.js:74:11) at process._tickCallback (internal/process/next_tick.js:98:9) code: 401, errors: [ […]

如何在YouTube API中使用ETags

显然,我们可以使用ETags来查看频道/播放列表是否已被更新或根据其文档中的以下声明: 当应用程序再次请求存储的资源时,它会指定与该资源关联的ETag。 如果资源发生了变化,那么API将返回与该资源版本关联的已修改资源和ETag。 如果资源没有改变,则API返回一个HTTP 304响应(Not Modified),表示资源没有改变。 但是我试图得到一个不会改变的频道数据,但是在刷新几次之后,似乎ETag跳转到了不同的值!

使用Youtube API获取用户电子邮件

我怎样才能使用Youtube API获得authentication的用户电子邮件? 我尝试使用channels.list : GET https://www.googleapis.com/youtube/v3/channels?part=brandingSettings&mine=true&key={YOUR_API_KEY} 它不会返回电子邮件… 我使用这个NodeJS模块与Youtube API进行通信: var Youtube = require("youtube-api"); Youtube.authenticate({ type: "oauth", token: ACCESS_TOKEN }); Youtube.channels.list({ "part": "brandingSettings", "mine": true }, function (err, data) { console.log(err, data); });

YouTube使用Google APIsearchNode.js

我正在尝试使用Node中的Google API进行YouTubesearch。 我正在使用这个作为一个教程: https://github.com/google/google-api-nodejs-client/#google-apis-nodejs-client 我有一些基本的工作 : var google = require('googleapis'); var YOUTUBE_API_KEY = "–YOUR_API_KEY"; var youtube = google.youtube('v3'); var requests = youtube.search.list({part:'snippet', q: 'cats', maxResults: 10}); 当我打电话给我时,我得到这个消息: Error: Daily limit for Unauthenticated Used Exceeded. 现在,这显然是因为我没有使用我的API密钥。 但是,我找不到任何资源,显示如何使用API​​密钥的节点。 我发现的任何东西都告诉我要做这样的事情: var YOUTUBE_CLIENT_KEY = ''; var CLIENT_SECRET = ''; var REDIRECT_URL = '/'; var OAuth2 = google.auth.OAuth2; var oauth2Client […]

使用带有Reactjs的YouTubes JS API呈现iFramevideo

我试过四处寻找例子,但我所有的是youtube-react npm包,我不想要,因为我想要做,并自己学习。 我的问题是在这里的文档: https : //developers.google.com/youtube/iframe_api_reference它告诉我提供一个锚标签为谷歌添加iFrame根据你传递它。 然而,我已经在服务器端做出反应,并使用web-pack将其编译到客户端,我的反应组件到目前为止如下所示: import React from 'react'; import { Link } from 'react-router' import classnames from 'classnames' const videoId = 'XxVg_s8xAms'; export default React.createClass({ getInitialState: function() { return { YTid: videoId, } }, render() { return ( <section className="youtubeComponent-wrapper"> <div id="youtubePlayerAnchor"></div> </section> ) } }) 我已经尝试从开发人员的文档添加到客户端的script标记中的代码,但没有任何事情在控制台没有任何事情发生。 有没有任何资源,或任何人都可以指出我正确的方向,我将如何去处理这个问题。 谢谢!