2014/12/19

Blogger で、google feed apiを動かすテスト

Blogger で、google feed apiを動かすテスト
  • Blogger HTML編集のオプションで、改行は<br />に設定しておく。
  • Google feed apiのscriptをHTMLモードで直接書いてしまっても動作する。
    (scriptの中に<li>、<div>を含むと、[更新]後にズレるので、<li>、<div>を含まないコードにする。)
  • [更新]後にズレてしまって、動かない時は、Dropboxにjsファイルとしてコピー、共有、
    <script src="https://www.dropbox.com/xxxxxx/feed.js?dl=1" type="text/javascript"></script>
    として、ファイル名末尾に 「?dl=1」を付ける。
  • 今回は、カテゴリ指定「Blogger」をしたかったので、 google.feeds.Feed()に↓コレを入れた。
    "http://pon250-1.blogspot.com/feeds/posts/default?category=Blogger"
  • (画像読み込み「お問い合わせフォーム」「最後の行(自分自身)」は、エラーになるので記事中にダミーを挿入した。)


↓Google feed APIにて、当ブログ、カテゴリ:Blogger、日付、タイトルのみ表示

読み込み中

コード

 <script src="https://www.google.com/jsapi" type="text/javascript"></script>
 <script type="text/javascript">
 google.load("feeds", "1");
 function initialize() {
  var feed = new google.feeds.Feed("http://pon250-1.blogspot.com/feeds/posts/default?category=Blogger");
  feed.setNumEntries(10);
  feed.load(function(result) {
  if (!result.error) {
   var container = document.getElementById("feed");
   var htmlstr = "";
   for (var i = 0; i < result.feed.entries.length; i++) {
   var entry = result.feed.entries[i];
   var pdate = new Date(entry.publishedDate);
   var pyear = pdate.getFullYear();
   var pmonth = pdate.getMonth() + 1;
   var pday = pdate.getDate();
   if (pyear < 2000) pyear += 1900;
   if (pmonth < 10) {pmonth = "0" + pmonth;}
   if (pday < 10) {pday = "0" + pday;}
   var date = pyear + "." + pmonth + "." + pday + " ";
   var imgchk = entry.content.match(/src="(.*?)"/igm);
   var imgsrc;
   if ( imgchk ) { imgsrc = imgchk[0]; }
   else { imgsrc = 'src = "https://dl.dropboxusercontent.com/u/48500763/blogger/mini10v.png"'; }
   htmlstr += '<a href="' + entry.link + '">';
   htmlstr += '<img width="60" align="middle"' + imgsrc + '/>';
   htmlstr += date + ' | ';
   htmlstr += entry.title + '</a><br /><br clear="all"/>';
   }
   container.innerHTML = htmlstr;
  } else {
   alert(result.error.code + ":" + result.error.message);
  }
  });
 }
 google.setOnLoadCallback(initialize);
 </script>
 <br />
 <div id="feed">
 読み込み中
 </div>

水色部分は、書き直して下さい。

0 件のコメント :

コメントを投稿