在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服务调用示例