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

时间:2013-05-27 16:07:11

标签: xml rss pipe yahoo yql

在Yahoo Pipes中,通过使用Regex模块,我可以使用https://www.google.com/webhp#output=search&sclient=psy-ab&q= $ {title}

等网址替换item.link。*

这样做的结果是,该标题是“巴拉克奥巴马访问俄克拉荷马州”,标题现在将链接到谷歌搜索术语“巴拉克奥巴马访问俄克拉荷马州”使用$ {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模块实现Pipes?是否有其他服务可以执行此功能?

谢谢!

1 个答案:

答案 0 :(得分:0)

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>

<强>参考