我有这个脚本,它列出了我最喜欢的 youtube 视频,使用 Oauth 和 YTB API v2。
现在我想对 YTB DATA API V3 做同样的事情,谁知道一个简单的步骤是 YTB ANALYTICS API V1。
所以我一直在寻找可以让我进入 V3 收藏夹的 URL。
var URL = "https://www.googleapis.com/youtube/v3/"
代替
//var URL = "http://gdata.youtube.com/feeds/api/users/default/favorites?v=2";
有没有办法用 DATA API v3 做到这一点?还是只能像@Arun Nagarajan
的github 示例中那样使用 API KEY 访问长 URL 请求的简单数据var url = 'https://www.googleapis.com/youtube/v3/activities?'
+'part=snippet&channelId=UC_x5XG1OV2P6uZZ5FSM9Ttw&maxResults=20&publishedBefore=2013-02-25T00:00:00.0Z'
+'&key='+API_KEY;
这是我想与 YTB API v3 一起使用的部分代码。
//var URL = "http://gdata.youtube.com/feeds/api/users/default/favorites?v=2"; works
var URL = "https://www.googleapis.com/youtube/v3/" // cant find it
function getFavoriteVideos()
{
var data = UrlFetchApp.fetch(URL, googleOAuth_()).getContentText();
var xmlOutput = Xml.parse(data, false);
var favorites = xmlOutput.getElement().getElements('entry');
Logger.log("a" + favorites.length.toString())
var a = favorites.length.toString()
for(var i = 0; i < favorites.length; i++)
{
favorites[i].getElement('title').getText()
Logger.log(favorites[i].getElement('title').getText())
}
}
认证
var NAME = 'youtube';
var SCOPE = 'http://gdata.youtube.com';
function googleOAuth_() {
var oAuthConfig = UrlFetchApp.addOAuthService(NAME);
oAuthConfig.setRequestTokenUrl('https://www.google.com/accounts/OAuthGetRequestToken?scope='+SCOPE);
oAuthConfig.setAuthorizationUrl('https://www.google.com/accounts/OAuthAuthorizeToken');
oAuthConfig.setAccessTokenUrl('https://www.google.com/accounts/OAuthGetAccessToken');
oAuthConfig.setConsumerKey('anonymous');
oAuthConfig.setConsumerSecret('anonymous');
return {oAuthServiceName:NAME, oAuthUseToken:'always'};
}