3

Google AJAX フィード API を使用して、さまざまなソースからニュースを読み込むスクリプトを使用しています。エントリの説明を取得するにはどうすればよいですか? 以下は、Hello World プログラムです。

<html>
  <head>
    <script type="text/javascript" src="https://www.google.com/jsapi"></script>
    <script type="text/javascript">

    google.load("feeds", "1");

    function initialize() {
      var feed = new google.feeds.Feed("http://news.google.com/?output=rss");
      feed.load(function(result) {
        if (!result.error) {
          var container = document.getElementById("feed");
          for (var i = 0; i < result.feed.entries.length; i++) {
            var entry = result.feed.entries[i];
            var div = document.createElement("div");
            div.appendChild(document.createTextNode(entry.title));
            container.appendChild(div);
          }
        }
      });
    }
    google.setOnLoadCallback(initialize);

    </script>
  </head>
  <body>
    <div id="feed"></div>
  </body>
</html>

オブジェクトを使用して説明を取得するにはどうすればよいですentryか??? XML 形式の RSS フィードにGoogle URL - http://news.google.com/?output=rssを使用しています。「説明」の部分が欲しいです。どうすればそれを手に入れることができますか

4

4 に答える 4

3

説明を取得できますが、JSON 形式とentryオブジェクトを使用してそれを行うことはできません。https://developers.google.com/feed/v1/devguideのフィード パラメータを注意深く読むと、descriptionこれはエントリ レベルで返されるフィールドではなく、フィード レベルで返されることがわかります。

そのためには、フィードを XML 形式でリクエストしてから、description. これが私がそれを行うために使用した関連するスニペットです - 必要に応じて書式設定などを変更してください。

function initialize() {
   var feed = new google.feeds.Feed("http://myblog.com/blog/feed/");
   feed.setResultFormat(google.feeds.Feed.XML_FORMAT);
   feed.load(function(result) {
   if (!result.error) {
    var items = result.xmlDocument.getElementsByTagName('item');
    item = items[0];

    //build each element
    var title = document.createElement("h4");
    title.innerHTML = item.getElementsByTagName('title')[0].firstChild.nodeValue;

    var content = document.createElement("p");
    content.innerHTML = item.getElementsByTagName('description')[0].firstChild.nodeValue;

    href = item.getElementsByTagName('link')[0].firstChild.nodeValue;
   }
于 2012-05-19T22:15:52.567 に答える
2

HTML の説明は、content 変数を使用して取得できます。したがって、次のようにする必要があります: div.appendChild(document.createTextNode(entry.content));

これにより、HTML データ形式が取得されることに注意してください。

于 2012-02-26T12:48:10.283 に答える
1

いろいろ調べた結果、Google API では説明の代わりに「contentSnippet」が使用されていることがわかりました。XML フォーマットは必要ありません。

function initialize() {
    var feed = new google.feeds.Feed("http://myblog.com/blog/feed/");   
    feed.setNumEntries(10);
    feed.load(function(result) {
        if (!result.error) {

            $(document).ready(function(){   
                $('#feed-pull').append('<ul></ul>'); 
                for (var i = 0; i < result.feed.entries.length; i++) {
                    var entry = result.feed.entries[i];                     
                    var desc = entry.contentSnippet;
于 2014-09-30T21:20:03.053 に答える
-1

entry.title を変更:

div.appendChild(document.createTextNode(entry.title));

entry.description へ。

于 2012-02-26T12:42:18.147 に答える