use*_*152 5 rss youtube-api google-apps-script youtube-data-api
自从 Youtube 关闭了其最新版本 API 的 RSS 搜索源以来,我一直在尝试使用 Google App Script 重新创建它们。这是我到目前为止所得到的(基于将 Twitter 小部件转换为 RSS 的教程):
function getSearches(a){
try{
var rss,title,link;
title="Youtube RSS Feed";
link="http://www.youtube.com";
var d=ScriptApp.getService().getUrl()+"?"+a;
rss='<?xml version="1.0"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">';
rss+='<channel><title>'+title+'</title>';
rss+='<link>'+link+'</link>';
rss+='<atom:link href="'+d+'" rel="self" type="application/rss+xml" />';
rss+='<description>Youtube RSS feed updated on '+new Date()+'.</description>';
var results = YouTube.Search.list('id, snippet', {
q: a,
maxResults: 50,
order: 'date'
});
for(var i = 0; i < results.items.length; i++){
var item = results.items[i];
rss += "<item>";
rss += "<title>" + item.snippet.title + "</title>";
rss += "<link>http://www.youtube.com/watch?v=" + item.id.videoId + "</link>";
rss += "<description>" + item.snippet.description + "</description>";
rss += "<pubDate>" + Utilities.formatDate(new Date(item.snippet.publishedAt), "EDT", "EEE, dd MMM yyyy HH:mm:ss Z") + "</pubDate>";
rss += "<guid>http://www.youtube.com/watch?v=" + item.id.videoId + "</guid>";
rss += "</item>";
}
rss+="</channel></rss>";
Logger.log(rss)
return rss
}
catch(e){
return"Something went wrong. Please retry after few minutes"
}
}
function doGet(e){
//var a = e.queryString();
var a = getSearches("search term");
return ContentService.createTextOutput(a).setMimeType(ContentService.MimeType.RSS);
}
Run Code Online (Sandbox Code Playgroud)
当我将其发布为网络应用程序并进行测试时,生成的页面看起来不错。我可以单击链接,它们会将我带到正确的视频。然而,当我尝试订阅提要(在我的例子中使用 Inoreader)时,它说没有找到提要。如果我直接在阅读器(同样是 Inoreader)中订阅 Web 应用程序 URL,它似乎可以工作;但所有条目都链接到网络应用程序,而不是 youtube,并在单击时从 Google 应用程序脚本返回错误。
理想情况下,我希望网络应用程序能够接受任何搜索词并返回要通过https://script.google.com/macros/s/LONG_KEY/exec?SEARCH_TERM订阅的提要,类似于上面的 twitter RSS 链接方式功能。有没有人在类似的事情上取得过成功或者可以给我指点?
所以看来我的问题是发布的网络应用程序的版本。我不知道不增加版本会缓存应用程序,就像它在该修订版下首次发布时一样。我注意到在测试应用程序时出现了代码更改;但当查看已发布的 url 输出时,它们并不存在。
文件 > 管理版本允许我增加版本号,然后更改开始显示,我可以订阅源。
归档时间: |
|
查看次数: |
5063 次 |
最近记录: |