Google Apps ScriptでBlogger APIを使って記事タイトルとURL一覧を取得する方法(但し不完全)
Google Apps ScriptでBloggerの記事一覧を取得する方法について書き留めておきます。Blogger APIというものを使います。これを使うことでBlogger内の記事情報をJSON形式で取得することができます。今回はその中から記事タイトルとURLの一覧をGETしたいと思います。
APIキーとBlog IDを取得する
APIキーの取得
まずは、Blogger APIの有効化と、APIキーの取得する必要があります。
まずは以下のリンクのページに行きましょう。
https://developers.google.com/blogger/docs/3.0/using?hl=ja#APIKey
ページ内に「Get a Key」というボタンがあるので、それをクリックします。
以下のようなダイアログが現れます。ここでプロジェクトを選びますが僕の場合は元々「My Project」が設定されていたのでそれを選びました。ない場合は「Create a new project」を選んでプロジェクト作成に進みます。プロジェクトの作成方法は省略しますが指示通りに勧めば作成できます。
以下のようにAPIキーが表示されます。これをコピーしておきましょう。
Blog IDの確認方法
今度はBlog IDを取得する方法について説明します。こちらは簡単で、Bloggerの管理画面を開くとアドレスバーに表示されています。アドレスの末尾の数字の羅列がそれになります。
HTMLソースコードの解析
調べたAPIキーとBlig IDを以下のURLに埋め込んでブラウザで開いてみましょう。
https://www.googleapis.com/blogger/v3/blogs/<Blog ID>/posts?key=<APIキー>
結果がご覧の通りです。Blogger情報がJSON形式で表示されました。これをプログラム側で取得して解析すれば良いわけです。但し、1つ問題があって10ページ程度しか取得できません。全ページ情報は残念ながら表示されず現在調査中です。分かり次第別の記事で紹介します。
とりあえずは、この10記事程度の情報をGAS側で取得していきたいと思います。
Google Apps Scriptのソースコード
GAS側のソースコードはこちらです。これを実行するとコンソール出力されます。GAS(Javascript)はJSONテキストをオブジェクトに変換するJSON.parse
があるから楽ですね。
function get_result(){ var api_key = '<API KEY>'; var blog_id = '<BLOG ID>'; var url = "https://www.googleapis.com/blogger/v3/blogs/" + blog_id + "/posts?key=" + api_key; var response = UrlFetchApp.fetch(url).getContentText(); var obj = JSON.parse(response); for(var i=0; i<obj.items.length; i++){ Logger.log(obj.items[i].selfLink); Logger.log(obj.items[i].title); } }
実行結果
結果はご覧のとおりです。スクリプトエディタの実行ボタンを押すと以下のようにコンソール出力できました。
GASなのでスプレッドシートに展開していくと良いと思います。スプレッドシートへの出力方法は以下を参考にしてください。
スポンサーリンク