2015/12/04

Google API で feed が取れなくなったので PHP に変更

2015 年 12 月 2 日に、Google の JavaScript 用の API が使えなくなった。
12 月 4 日には使えるようになったが、いつまた、突然、サービスが停止になるかわからんので、いくつかのサイトでブログ記事を抜粋するために使用していた Google JSAPI の利用をやめ、PHP での実装に変更したことのメモ。
世の中には、RSS 版はあるけど、ATOM 版の説明が無かったので、シコシコ…。

Feed 解析ライブラリのダウンロード
dg / rss-php
ZIP ファイルをダウンロード&解凍後、src フォルダ内の「Feed.php」が実体。

サンプルソース
<?php
    require_once "Feed.php";
    $feed = new Feed;
    $atom = $feed->loadAtom( 'ATOMフィードのアドレス' );    // アドレスを変更の事
    $a_count = 0;    //表示した記事の数
    foreach ( $atom->entry as $entry ) {
        if ( $a_count == 10 ) {        // この 10 は必要な記事の数
            break;
        }
        $a_count++;
        print '<article>'."/n";
        print '<h1>'.$entry->title.'</h1>'."\n";
        print '<p><small>'.date("Y.n.j", (int) $entry->timestamp).'</small></p>'."\n";
        print '<div>'.$entry->content.'</div>'."\n";
        print '</article>'."\n";
    }
?>

使える要素
上のサンプルでは、title timestamp content の3つしか参照していないが、ATOM の一般的な要素は、どれも普通に参照できる。


最後に
今まで使っていた JSAPI よりもコードが短くなって、スピードも格段に速くなった。
って、当然か。