My favorites | 中文(简体) | Sign in

类参考

目录

google.feeds.Feed

google.feeds.Feed 类的实例可以下载一个供稿网址。

构造函数

构造函数 说明
Feed(url) 创建一个新的 Feed 实例,可下载给定的供稿网址。

方法

方法 返回类型 说明
load(callbackFunction)
从 Google 的服务器中下载此供稿,在下载完成时调用给定的 callbackFunction。使用表示供稿下载的结果的单个供稿结果参数调用给定的函数。

setNumEntries(num)
将由此供稿载入的供稿条目数设置为 num。默认情况下,Feed 类可载入 4 个条目。
setResultFormat(format)
将结果格式设置为 google.feeds.Feed.JSON_FORMATgoogle.feeds.Feed.XML_FORMATgoogle.feeds.Feed.MIXED_FORMAT 之一。默认情况下,Feed 类使用 JSON 格式。
includeHistoricalEntries()新增!
默认情况下,载入供稿时,系统将返回指定供稿的一个缓存副本,其内容与缓存该供稿时的内容完全同步。通过调用此方法,您可以指示系统返回其缓存中可能具有的任何其他历史条目。

google.feeds.FeedControl

google.feeds.FeedControl 类的实例旨在下载和显示多个供稿。该类与 AJAX 搜索 API 的搜索控件层 GSearchControl 非常类似。

构造函数

构造函数 说明
FeedControl() 创建一个新的 FeedControl 实例。创建该控件后,将为您要下载和显示的每个供稿调用一次 addFeed() 方法,然后调用 draw() 方法开始下载序列并在网页上绘制结果。

方法

方法 返回类型 说明
addFeed(url, label)
url 指定的供稿将被添加到该控件,并与标题为 label 的区域相关联。注意:只有调用 draw() 方法才会实际载入该供稿。feedcontrol.html 示例演示了此方法的使用。
draw(element, opt_options?)
将载入先前添加到该控件的所有供稿,并且在载入这些供稿时会将其添加到该网页。element 参数提供了包含结果条目的 DOM 节点。

可选的 opt_options 参数提供的选项可以控制该控件显示结果的方式。此参数是一个匿名对象,目前支持名为 drawMode 的单个属性,该属性的值可以为 google.feeds.FeedControl.DRAW_MODE_TABBEDgoogle.feeds.FeedControl.DRAW_MODE_LINEAR。例如,以下代码段演示了如何请求该供稿控件使用标签式样式绘制供稿。tabbed.html 示例演示了该操作。

feedControl.draw(
  document.getElementById("feedControl"),
  {
    drawMode : google.feeds.FeedControl.DRAW_MODE_TABBED
  });
    
默认的 drawMode 为线性模式,例如 google.feeds.FeedControl.DRAW_MODE_LINEAR
setNumEntries(num)
将为添加到此控件的每个供稿载入的供稿条目数设置为 num。默认情况下,FeedControl 类从每个供稿中载入 4 个条目。
setLinkTarget(linkTarget)
该控件为其显示的每个条目生成默认的 HTML。该 HTML 由超链接条目标题、作者和发布日期以及该条目的内容片断组成。此方法使调用程序可以指定超链接标题的目标。有效的值包括:
  • google.feeds.LINK_TARGET_BLANK - 将在新窗口中打开的链接
  • google.feeds.LINK_TARGET_SELF - 将在当前窗口中打开的链接
  • google.feeds.LINK_TARGET_TOP - 将在顶部框架中打开的链接
  • google.feeds.LINK_TARGET_PARENT - 将在顶部框架中打开或替换当前框架的链接。
  • 其他任何值 - 结果锚元素中 target 的值将被设置为 linkTarget
该控件的此设置的默认值为 google.feeds.LINK_TARGET_SELF

CSS 结构

FeedControl 显示具有准确类注释的 HTML 标记。这些类旨在使您可以轻松设置控件和每个条目 HTML 的样式。如果您熟悉 CSS,则可以相对轻松地设计 FeedControl 的样式以满足您的需要。要了解的关键之处在于:基本 CSS 样式在 http://www.google.com/uds/css/gfeed.css 中进行定义,系统会自动载入该网址。接下来,您便可以定义特定样式覆盖以实现所需的效果。大体的 CSS 结构如下所示。使用基于 Firefox 的 FireBug 或 DOM 检查程序也很有用。

<!-- The Feed Control Class (Note: Linear Mode is Shown) -->
<div class="gfc-control">

  <!-- Per Feed Container -->
  <div class="gfc-resultsRoot">

    <!-- Per Feed Header -->
    <!-- .gfc-title holds Feed's Label -->
    <div class="gfc-resultsHeader">
      <div class="gfc-title"></div>
    </div>

    <!-- Collection of Entries -->
    <div class="gfc-results">

      <!-- One .gfc-result per entry -->
      <div class="gfc-result">

        <!-- One .gf-result per entry -->
        <div class="gf-result">

          <!-- Hyperlinked Entry Title -->
          <div class="gf-title">
            <a class="gf-title"></a>
          </div>

          <!-- Author (Only if entry.author is present -->
          <div class="gf-author"></div>

          <!-- Published Date (Only if entry.publishedDate is present -->
          <div class="gf-relativePublishedDate"></div>

          <!-- Snippet entry.contentSnippet -->
          <div class="gf-snippet"></div>

        </div>
      </div>
      ...
      <div class="gfc-result"></div>
    </div>
  </div>
  ...
  <div class="gfc-resultsRoot"></div>

</div>

为了帮助您明确方向,我们提供了 sidebar.html 示例。此示例非常简单,它使用一些非常简单的样式规则抑制某些属性的显示,更改某些默认边界以及调整字体大小和宽度。净结果是一个非常紧凑的表单,非常适合在典型的侧边栏中显示一组博客样式集合的链接。设计样式的重要组成部分为:

<style type="text/css">
  /**
   * Set a very small font size for the control and constrain
   * it's width to 225px
   *
   * Note: the page has a single FeedControl that
   * is drawn in the <div> element whose id is "feedControl".
   */
  #feedControl {
    font-size: 10px;
    width : 225px;
  }

  /**
   * Suppress everything except for title
   */
  #feedControl .gf-snippet,
  #feedControl .gf-author,
  #feedControl .gf-spacer,
  #feedControl .gf-relativePublishedDate {
    display : none;
  }

  /**
   * 1em Padding at the bottom of each collection of entries
   */
  #feedControl .gfc-results {
    padding-bottom : 1em;
  }

  /**
   * no padding between entries
   */
  #feedControl .gfc-result {
    margin-bottom : 0px;
  }

  /**
   * Use a larger font size for section titles
   */
  #feedControl .gfc-resultsHeader .gfc-title {
    font-size : 110%;
  }
</style>

全局方法

方法 返回类型 说明
google.feeds.findFeeds(query, callback)
将返回与给定查询匹配的供稿列表的全局方法。结果作为结果对象以异步方式提供给给定的 callback 函数。发现供稿检查示例演示了此方法的使用。
google.feeds.lookupFeed(url, callback)
将返回关联供稿(如果此供稿存在于指定网址中)的全局方法。结果作为结果对象以异步方式提供给给定的 callback 函数。Flickr 供稿检查示例演示了此方法的使用。
google.feeds.getElementsByTagNameNS(node, ns, localName) NodeList DOM 函数 getElementsByTagNameNS 的跨浏览器执行。按在文档树的先序遍历中出现的顺序返回所有元素的节点列表(带有给定的本地名称和名称空间网址)。

结果格式

load() 方法在供稿下载完成时将会调用具有单个结果的函数参数。结果具有以下结构:

  • <根>
    • error?
      载入供稿出错时显示
    • xmlDocument?
      供稿 XML 文档。表示 XML_FORMATMIXED_FORMAT 结果格式。请参考下面的 XML 文档
    • feed?
      供稿的 JSON 表示。表示 JSON_FORMATMIXED_FORMAT 结果格式。请参考下面的 JSON 文档

JSON 结果格式

如果您请求 google.feeds.Feed.JSON_FORMAT 结果格式,则将在feed供稿结果中显示 属性。feed 属性具有以下结构:

  • feed
    • title
      供稿标题。对应于 Atom 中的 <title> 元素和 RSS 中的 <title> 元素。
    • link
      供稿的 HTML 版本的网址。对应于 Atom 中的 <link> 元素和 RSS 中的 <link> 元素。
    • description
      供稿说明。对应于 Atom 中的 <description> 元素和 RSS 中的 <subtitle> 元素。
    • author
      供稿作者。对应于 Atom 中该作者的 <name> 元素。
    • entries[]
      供稿中所有条目的列表。对应于 Atom 中的 <item> 元素和 RSS 中的 <entry> 元素。
      • title
        条目标题。对应于 Atom 中的 <title> 元素和 RSS 中的 <title> 元素。
      • link
        条目的 HTML 版本的网址。对应于 Atom 中的 <link> 元素和 RSS 中的 <link> 元素。
      • content
        条目的正文,包括 HTML 标签。由于该值可以包含 HTML 标签,因此您应使用 elem.innerHTML = entry.content(而不是使用 document.createTextNode)显示该值。对应于 Atom 中的 <content><summary> 元素和 RSS 中的 <description> 元素。
      • contentSnippet
        content 属性的片断版本(小于 120 个字符)。此片断不包含任何 HTML 标签。
      • publishedDate
        发布条目的字符串日期的形式为“13 Apr 2007 12:40:07 -0700”。您可以使用 new Date(entry.date) 分析此日期。对应于 Atom 中的 <link> 元素和 RSS 中的 <link> 元素。
      • categories[]
        条目的字符串标签的列表。对应 Atom 中的 <类别> 元素和 RSS 中的 <类别> 元素的字词属性。

XML 结果格式

如果您请求 google.feeds.Feed.XML_FORMAT 结果格式,则将在xmlDocument供稿结果中显示 属性。xmlDocument 属性是此供稿的完全解析的 XML 文档 节点。可以使用浏览器中内置的 XML 功能(例如 getElementsByTagName)访问此文档。

混合结果格式

如果您请求 google.feeds.Feed.MIXED_FORMAT 结果格式,则会在feed供稿结果xmlDocument中显示 JSON 属性和 XML DOM 属性。有关详细信息,请参见上面的 JSON 文档XML 文档

除了这些属性之外,JSON 结果数组中的每个 entry 均将具有一个附加的 xmlNode 属性。该属性是指向 XML 元素的指针,表示供稿 XML 文档中的条目。对于 Atom 供稿,xmlNode 指向此条目的 元素。对于 RSS 供稿,xmlNode 指向此条目的 元素。

FindResult 格式

findFeeds() 方法在供稿查询完成时将会调用具有单个结果的回调函数参数。结果具有以下结构:

  • <根>
    • error?
      载入供稿出错时显示
    • entries[]
      匹配给定的查询字符串的供稿列表(最多有 10 供稿)。
      • title
        供稿标题。
      • link
        供稿的 HTML 版本的网址。
      • contentSnippet
        内容的片断版本(小于 120 个字符)。
      • url
        实际供稿的网址。

LookupResult 格式

lookupFeed() 方法在供稿查找完成时将会调用具有单个结果的回调函数参数。结果具有以下结构:

  • <根>
    • error?
      载入供稿出错时显示
    • url
      关联供稿的网址(如果存在)。

Flash 和其他非 Javascript 环境新增!

对于 Flash 开发人员以及需要从其他非 Javascript 环境中访问 Google AJAX 供稿 API 的开发人员,该 API 提供了一个简单的 RESTful 界面。在所有情况下,支持的方法均为 GET,响应格式为 JSON 已编码结果(具有嵌入的状态代码)。使用此界面的应用程序必须遵守所有现有的使用条款。需要特别注意的是要在您的请求中正确标识自己。应用程序必须始终在其请求中包含一个有效且准确的 http 参考标头。此外,我们要求(但不命令)每个请求包含一个有效的 API 密钥。通过提供密钥,您的应用程序可以向我们提供辅助的识别机制,这在我们需要联系您以纠正问题时会很有用。请阅读有关 API 密钥的作用的详细信息

与核心 Javascript 界面一样,通过包含标准 CGI 参数和方法特定的 CGI 参数的统一网址显示此界面。您的应用程序可以使用其选择的 http 堆栈。唯一的要求是您必须能够使用所有 CGI 参数构建一个结构正确的网址,发送一个可以准确标识您应用程序的 http 参考标头以及能够处理经过 JSON 编码的响应。

标准网址基本地址

每个供稿 API 方法均通过一个标准网址进行访问。下表列出了用于访问每个方法的网址。

搜索器 基本网址
载入供稿 http://ajax.googleapis.com/ajax/services/feed/load
查找供稿 http://ajax.googleapis.com/ajax/services/feed/find
查找供稿 http://ajax.googleapis.com/ajax/services/feed/lookup

标准网址参数

每个请求均包含标准网址参数以及一组可选的方法特定的参数。本节介绍了在所有方法中都一致并且向每个方法传递几乎相同的语义信息的标准参数。在某些情况下,参数是可选的。通过参数名称后的 ? 指示。在所有情况下,必须对 CGI 参数的值进行正确转义(例如,通过具有等效功能的 Javascript encodeURIComponent() 方法)。

下表列出了标准的网址参数。下面显示的其他部分着重介绍了方法特定的参数。

参数 实例 说明
q q=Paris%20Hilton 此参数可提供传递给该方法的查询字词。对于 loadlookup 方法,此参数的值是一个属性转义的网址,例如 &q=http%3A%2F%2Fwww.digg.com%2Frss%2Findex.xml。对于 find 方法,该值是一个搜索表达式,用于查找一系列匹配的供稿网址。
v v=1.0 此参数可提供协议版本号。目前唯一有效的值为 1.0
hl? hl=fr 此可选参数提供了提出请求的应用程序的宿主语言。如果未提供此参数,系统将根据 Accept-Language http 标头的值选择一个值。如果此标头不存在,将假定值为 en
key? key=your-key 此可选参数提供了应用程序的密钥。如果指定了此参数,则此密钥必须是与您的网站(已通过传递的参考标头进行确认)关联的有效密钥。提供密钥的优点在于,我们可以在您的应用程序出错时识别并联系您。如果没有密钥,我们仍会采取相同的适当措施,但是我们将无法联系您。强烈建议您最好提供一个密钥。
callback? callback=foo 此可选参数可以更改标准的响应格式。提供此参数时,系统将生成一个 Javascript 函数调用响应(而不是简单的经过 JSON 编码的对象),其中 callback 的值指定了响应中调用的函数名称。
callbackFunction({
  "responseData" : {
    "feed" : {}
  },
  "responseDetails" : null | string-on-error,
  "responseStatus" : 200 | error-code
})
      
context? context=bar 此可选参数与 context 参数相关。当两者都提供时,context 的值会改变与 callback 相关联的正常响应格式。新格式为:
callbackFunction(
  contextValue,    // the context arg value
  responseObject,  // the method result
  responseStatus,  // 200 on success, non-200 on failure
  errorDetails)    // error string for non-200 response
      

标准响应格式

如以上章节中的简述,响应格式中有两种主要的形式。未提供 callbackcontext 参数时,响应格式是简单的 JSON 对象(与如下所示的三个代码段类似):

载入供稿的 JSON 响应

{
  "responseData" : {
    "feed" : {}
  },
  "responseDetails" : null | string-on-error,
  "responseStatus" : 200 | error-code
}

查找供稿的 JSON 响应

{
  "responseData" : {
    "query" : query-string,
    "entries" : []
  },
  "responseDetails" : null | string-on-error,
  "responseStatus" : 200 | error-code
}

检查供稿的 JSON 响应

{
  "responseData" : {
    "query" : query-value -e.g.- original-url,
    "url" : primary-url-for-that-page
  },
  "responseDetails" : null | string-on-error,
  "responseStatus" : 200 | error-code
}

在上面的 JSON 片段中,请注意 responseData 属性包含一个 feed 对象,或者一个 query 属性和 entries 数组,或者一个 query 属性和 url 属性。此属性中返回的内容是要访问的供稿 API 方法的函数。有关其他信息,请查看结果格式讨论。请注意,在本部分文档中,介绍了一个可选的 error 对象。使用基于网址的协议时,error 属性不再可用。而是改为使用 responseStatusresponseDetails 属性。responseStatus 属性在成功时包含值 200,在失败时包含一个非 200 http 错误状态代码。如果失败,则 responseDetails 包含一个诊断字符串。

如果应用程序提供了 callback 参数而未指定 context 参数,那么,该应用程序将能够接收相同的对象,但前提是将其作为第一个参数传递到应用程序指定的回调中。

callbackFunction({
  "responseData" : {
    "query" : query-value -e.g.- original-url,
    "url" : primary-url-for-that-page
  },
  "responseDetails" : null | string-on-error,
  "responseStatus" : 200 | error-code
})

如果应用程序提供了 callbackcontext 参数,那么,该响应将作为 JavaScript 程序调用进行编码。在此操作模式下,callback 的值将变为程序调用目标,context 的值作为第一个参数传递,上面介绍的 responseData 的值作为第二个参数传递,响应状态作为第三个参数传递,最后一个参数为 null 或诊断字符串。

foo('bar', {
 "feed": {
  "title": "Digg",
  "link": "http://digg.com/",
  "author": "",
  "description": "Digg",
  "type": "rss20",
  "entries": [
   {
    "title": "The Pirate Bay Moves Servers to Egypt Due to Copyright Laws",
    "link": "http://digg.com/tech_news/The_Pirate_Bay_Moves_Servers_to_Egypt_Due_to_Copyright_Laws",
    "author": "",
    "publishedDate": "Mon, 31 Mar 2008 23:13:33 -0700",
    "contentSnippet": "Due to the new copyright legislation that are going ...",
    "content": "Due to the new copyright legislation that are going to take...",
    "categories": [
    ]
   },
   {
    "title": "Millions Dead/Dying in Recent Mass-Rick-Rolling by YouTube.",
    "link": "http://digg.com/comedy/Millions_Dead_Dying_in_Recent_Mass_Rick_Rolling_by_YouTube",
    "author": "",
    "publishedDate": "Mon, 31 Mar 2008 22:53:30 -0700",
    "contentSnippet": "Click on any \u0022Featured Videos\u0022. When will the insanity stop?",
    "content": "Click on any \u0022Featured Videos\u0022. When will the insanity stop?",
    "categories": [
    ]
   },
   ...
  ]
 }
}
, 200, null)

载入供稿特定的参数

载入供稿方法支持许多可选参数,如下所示:

参数 说明
num? 此可选参数提供了要从由 q 指定的供稿中载入的条目数。值 -1 表示此编写为 100 时支持的最大条目数。如果没有提供此参数,将假定值为 4
output? 此可选参数可决定 responseData 属性的输出格式。
  • json - 这是默认值,用于指定 JSON 仅在返回时输出。
  • json_xml - 指定了此参数后,将返回供稿的 JSON 表达式以及一个新的 xmlString 属性(其中包含字符串形式的供稿的 XML 表达式)。
  • xml - 指定了此参数后,将不会返回供稿的 JSON 表达式。仅返回 xmlString 属性。其中包含字符串形式的供稿的 XML 表达式。
scoring? 默认情况下,载入供稿时,系统将返回指定供稿的一个缓存副本,其内容与缓存该供稿时的内容完全同步。通过将 scoring 设置为值 h,您可以指示系统返回其缓存中可能具有的任何其他历史条目。

查找供稿特定的参数

查找供稿方法没有附加参数。所有参数均在上面列出。

检查供稿特定的参数

检查供稿方法没有附加参数。所有参数均在上面列出。