2010-08-08 74 views
2

基本上我的问题不是关于如何,它的关于为什么? :) 现在我会告诉我知道什么,然后告诉我我错过了什么(如果有的话)。使用谷歌饲料API访问远程RSS订阅源

在Firefox中,您无法使用Javascript访问远程XML文件(如RSS源),因为您将获得拒绝访问错误。通常为了解决它,我们实现代理(内部页面来查询内容),所以我们可以在本地访问它。

另一种解决方案是使用Goolge的订阅API(或延伸部中的一个建立在这个API这样的JQuery扩展)。

我的问题很简单?为什么这个Google Feed API可以工作,并且可以使用我们无法执行的手动脚本加载远程XML?我在这里错过了什么?

回答

1

Google Feeds API通过代理www.google.com/uds/something/something获取Feed内容。

这是它在ASCII体系结构中的样子。

yoursite.com       | 
[1] v ^[6]       | 
    v ^       | <-- Client 
Google Feeds API JS (on yoursite.com) | 
[2] v ^[5]       | 
----v----^---------------------------------------------------------------------- 
    v ^       | 
www.google.com/uds/GFeeds?..   | <-- Server (Proxy) 
[3] v ^[4]       |  
    v ^       | 
www.feed.com/..       | <-- Feed URL 
+0

然后,为什么我不能使用我的客户端脚本来做到这一点,为什么如果您通常尝试从远程域打开XML文件,Firefox会给出拒绝访问? – 2010-08-08 13:34:05