Yahoo Pipes使用${title}变量动态地丰富RSS描述



在Yahoo Pipes中,通过使用Regex模块,我可以替换item。${title}

这样做的结果是,假设提要的标题是"巴拉克·奥巴马访问俄克拉何马州",那么该标题现在将使用${title}变量链接到谷歌搜索词"巴拉克·奥巴马访问俄克拉何马州"。

但是我想要做的是在描述中添加脚本,这样我就可以做一些事情,比如嵌入一个youtube视频与rss输出http://gdata.youtube.com/feeds/api/videos?max-results=1&alt=rss&q=${title}和显示相关标题的图像与flickr rss输出http://www.flickr.com/services/feeds/photos_public.gne?tags=${title}&format=rss_200

有办法做到这一点吗?这可以通过雅虎的YQL模块来实现吗?是否有其他服务可以执行此功能?

谢谢!

YQL有一个execute方法,它可以在输出上运行JavaScript以将其转换为所需的格式。下面是一些例子:

<execute><![CDDATA[
// request.url == 'http://some_web_service_or_feed
// This is the same as 'y.rest(request.url).get();'
var returned_response = request.get();
...
]]>
</execute>
<execute><![CDATA[
// Include the OAuth libraries from oauth.net
y.include("http://oauth.googlecode.com/svn/code/javascript/oauth.js");
y.include("http://oauth.googlecode.com/svn/code/javascript/sha1.js");
// Collect all the parameters
var encodedurl = request.url;
var accessor = { consumerSecret: cs, tokenSecret: ""};
var message = { action: encodedurl, method: "GET", parameters: [["oauth_consumer_key",ck],["oauth_version","1.0"]]};
OAuth.setTimestampAndNonce(message);
// Sign the request
OAuth.SignatureMethod.sign(message, accessor);
try {
   // get the content from service along with the OAuth header, and return the result back out
    response.object = request.contentType('application/xml').header("Authorization", OAuth.getAuthorizationHeader("netflix.com", message.parameters)).get().response;
    } catch(err) {
    response.object = {'result':'failure', 'error': err};
    }
]]>
</execute>

引用

  • YQL代码教程

  • myql/表。md | YQL开放数据表文档

  • yql/Lorem . Ipsum .xml | yql Lorem Ipsum服务调用示例

最新更新