Bloggerのfeed一覧

Bloggerで使えるfeedの一覧です。

feedはブログの投稿やページの情報を取得するためのもので、ブログを見ずに情報だけを取り出せます。

このブログのfeedは
https://googlebloggertrouble.blogspot.com/feeds/posts/default
こんな感じです。

(ブログのurl)/feeds/posts/default
になっています。defaultの部分をsummaryやfullに変更することができます。

defaultの場合はBloggerの設定の「サイトフィード」の「ブログフィードを許可」で設定した値になります。「完全」「追記の区切りまで」「先頭のみ」などが選べます。

defaultをsummaryに変えるとページの情報が初めの一部だけ取得できます。「先頭のみ」と同じ状態です。defaultをfullに変えるとページの情報が全て取得できます。「完全」と同じ状態です。

ただし、Bloggerの設定で選んだものよりも多い情報は取得できません。「先頭のみ」を選ぶと、fullにしてもsummaryと同じ「先頭のみ」だけしか取得できなくなります。

最大で25件の情報が取得できます。
「max-results=(件数)」を追加すると、最大150件まで取得できるようになります。
https://googlebloggertrouble.blogspot.com/feeds/posts/default?max-results=150

「start-index=(取得開始)」を追加すると、何件目の情報から取得開始するか設定できます。
https://googlebloggertrouble.blogspot.com/feeds/posts/default?max-results=10&start-index=3
この場合は3件目から10件分の情報を取得できます。

「orderby=published」を追加すると公開日時順になります。「orderby=updated」を追加すると、更新日時順になります。

「alt=atom」を追加すると、Atom形式になります。「alt=rss」を追加すると、RSS形式になります。フォーマットが違うだけで内容的にはほぼ同じです。

https://googlebloggertrouble.blogspot.com/feeds/posts/default
は省略されているので、実際には
https://googlebloggertrouble.blogspot.com/feeds/posts/default?max-results=25&start-index=1&orderby=published&alt=atom
と同じになります。


postsの場合は投稿の情報、postsをpagesに変えるとページの情報が取得できます。
https://googlebloggertrouble.blogspot.com/feeds/pages/default

「/-/(ラベル名)」を追加すると、指定したラベルだけの情報が取得できます。
https://googlebloggertrouble.blogspot.com/feeds/posts/default/-/seo

「q=(検索ワード)」を追加すると、検索ワードに当てはまる情報が取得できます。
https://googlebloggertrouble.blogspot.com/feeds/posts/default?q=SEO

「path=(url)」を追加すると、指定したurlの情報が取得できます。
https://googlebloggertrouble.blogspot.com/feeds/posts/default?path=/2022/03/bloggerfeedslist.html

「updated-min=(最小更新日時)」を追加すると、更新日時が(最小更新日時)以降の情報が取得できます。「updated-max=(最大更新日時)」を追加すると、更新日時が(最大更新日時)以前、「published-min=(最小公開日時)」を追加すると、公開日時が(最小公開日時)以降、「published-max=(最大公開日時)」を追加すると、公開日時が(最大公開日時)以前の情報が取得できます。組み合わせて使うこともできます。
https://googlebloggertrouble.blogspot.com/feeds/posts/default?updated-min=2021-05-02T00%3A00%3A00%2B09%3A00&updated-max=2022-03-05T00%3A00%3A00%2B09%3A00

「alt=json」を追加すると、取得した情報をjavascriptで使えるようになります。
<script>
/*<![CDATA[*/
document.addEventListener('DOMContentLoaded',setSubList);
function setSubList(){
  const queryMaxResults='5';
  let obj=document.getElementById('sublist');
  if(!obj) return;
  const textLabel=obj.textContent;
  let feedUrl='/feeds/posts/summary';
  if(textLabel) feedUrl+='/-/'+encodeURIComponent(textLabel);
  feedUrl+='?alt=json&max-results='+queryMaxResults;
  fetch(feedUrl)
  .then(response=>response.json())
  .then(json=>{
    let html='<ol>';
    for(let i=0;i<json.feed.entry.length;i++){
      let entry=json.feed.entry[i];
      for(let j=0;j<entry.link.length;j++){
        if(entry.link[j].rel=='alternate'){
          if(entry.link[j].href!=location.href){
            html+='<li><a href="'+entry.link[j].href+'">'+entry.title.$t+'</a></li>';
          }
          break;
        }
      }
    }
    obj.innerHTML=html+'</ol>';
  })
  .catch(error=>console.log(error));
}
/*]]>*/
</script>

「alt=json-in-script」を追加すると、取得した情報をjavascriptで使えるようになります。「alt=json-in-script」の場合は「<script src='/feeds/posts/summary?alt=json-in-script&callback=(javascriptの関数)'/>」をjavascriptで作成して、取得した情報を(javascriptの関数)で処理する形になります。
<script>
/*<![CDATA[*/
document.addEventListener('DOMContentLoaded',setSubList);
function setSubList(){
  const queryMaxResults='5';
  let obj=document.getElementById('sublist');
  if(!obj) return;
  const textLabel=obj.textContent;
  let feedUrl='/feeds/posts/summary';
  if(textLabel) feedUrl+='/-/'+encodeURIComponent(textLabel);
  feedUrl+='?alt=json-in-script&max-results='+queryMaxResults+'&callback=listEntries';
  let script=document.createElement('script');
  script.setAttribute('src',feedUrl);
  document.documentElement.lastChild.appendChild(script);
}
function listEntries(json){
  let html='<ol>';
  for(let i=0;i<json.feed.entry.length;i++){
    let entry=json.feed.entry[i];
    for(let j=0;j<entry.link.length;j++){
      if(entry.link[j].rel=='alternate'){
        if(entry.link[j].href!=location.href){
          html+='<li><a href="'+entry.link[j].href+'">'+entry.title.$t+'</a></li>';
        }
        break;
      }
    }
  }
  obj.innerHTML=html+'</ol>';
}
/*]]>*/
</script>
「alt=json-in-script」より「alt=json」の方がjavascriptだけで完結できるので便利ですが、処理時間はたいして変わりません。「/feeds/posts/default」ではなく「/feeds/posts/summary」を使っているのは、Bloggerの設定に関係なく取得する情報が少なくなり、処理時間が早くなるからです。
この記事のタイトルとURLをコピーする blogger
blogger