
【完全保存版】GASで最強の「ニュース自動更新ブログ」を作る全手順
ブログを運営していると、誰しも一度はこう思うのではないでしょうか。
「毎日最新情報をチェックして記事を書くのが大変すぎる!」
特に、トレンド情報を扱うブログや、特定のアーティスト・ジャンルに特化したファンブログを運営している場合、情報収集と記事執筆のルーチンワークだけでかなりの時間を奪われてしまいます。
しかし、現代のテクノロジーを使えば、その悩みはGoogle Apps Script (GAS) で解決可能です。今回は、初心者の方でも今日から導入できる「ニュース自動収集・自動投稿システム」の構築方法を、基礎から応用まで徹底的に解説します。
1. なぜ「GAS」で自動化するのか?
多くのブロガーが導入しているWordPressやBloggerですが、手動での投稿には限界があります。GAS(GoogleAppsScript)を利用する最大のメリットは以下の3点です。
完全無料: 追加のサーバー料金や有料プラグインは一切不要。Googleのアカウントさえあれば誰でも構築できます。
メンテナンスフリー: サーバーの管理やOSのアップデートを気にする必要はありません。Googleのインフラ上で動くため、安定性は抜群です。
柔軟なカスタマイズ性: プログラミングコードさえ書き換えれば、「ニュースだけでなく株価を取得したい」「LINEに通知を送りたい」といった要望も簡単に叶えられます。
2. システムの全体像を理解する
今回構築するシステムは、以下のパイプラインで動いています。
インプット: GoogleニュースのRSSフィードから最新データを取得。
プロセッシング: 取得した生データを、自分好みのフォーマット(HTML)に整形。
アウトプット: Bloggerの「メール投稿」機能を使ってブログへ送信。
この仕組みの肝は、「メール投稿」というBlogger特有の機能にあります。通常、外部システムからブログへ記事を投稿するには複雑なAPI認証が必要ですが、メール経由であれば誰でも簡単に自動投稿が実現できるのです。
3. 実践!自動投稿スクリプトの全貌
まずは、実際に動作するコードを紹介します。以下のコードをコピーし、ご自身のGoogle Apps Scriptエディタ(script.google.com)に貼り付けてみてください。
function postNewsToBlogger() { // 設定項目 var bloggerEmail = 'あなたのBlogger投稿用メールアドレス'; var keyword = 'YOASOBI'; // ここを好きなキーワードに変更可能 var feedUrl = 'https://news.google.com/rss/search?q=' + encodeURIComponent(keyword) + '&hl=ja&gl=JP&ceid=JP:ja'; try { // RSS取得 var response = UrlFetchApp.fetch(feedUrl); var xml = XmlService.parse(response.getContentText()); var items = xml.getRootElement().getChild('channel').getChildren('item'); // 記事作成 var today = Utilities.formatDate(new Date(), "Asia/Tokyo", "yyyy/MM/dd"); var postTitle = "【自動更新】" + keyword + " 最新ニュースまとめ(" + today + ")"; var htmlBody = "<p>Googleニュースから取得した、" + keyword + "に関する最新情報をお届けします。</p>"; htmlBody += "<ul>"; var maxCount = Math.min(items.length, 5); for (var i = 0; i < maxCount; i++) { var item = items[i]; var title = item.getChildText('title'); var link = item.getChildText('link'); var pubDate = item.getChildText('pubDate'); var formattedDate = Utilities.formatDate(new Date(pubDate), "Asia/Tokyo", "MM/dd HH:mm"); htmlBody += "<li>[" + formattedDate + "] <a href='" + link + "'>" + title + "</a></li>"; } htmlBody += "</ul>"; // 投稿 MailApp.sendEmail({ to: bloggerEmail, subject: postTitle, htmlBody: htmlBody }); Logger.log("投稿完了"); } catch (e) { Logger.log("エラー: " + e.toString()); } }
4. 導入のロードマップ
「コードはわかったけれど、どこに設定すればいいの?」という方のために、5つのステップで解説します。
ステップ1:Bloggerのメール投稿を有効化
Blogger管理画面の「設定」→「メール」へと進みます。「メールで投稿」という項目で、任意の文字列(例:myblog.1234)を設定してください。これで ユーザー名.1234@blogger.com という投稿用アドレスが作成されます。
ステップ2:GASエディタの起動
Googleドライブ上で右クリック→「その他」→「Google Apps Script」を選択します。空のプロジェクトが開くので、先ほどのコードを貼り付けます。
ステップ3:メールアドレスの書き換え
コード内の bloggerEmail 変数を、ステップ1で作成したあなた専用のアドレスに書き換えます。
ステップ4:初回実行と承認
エディタ上部の「実行」ボタンを押します。初めて実行する際は、「承認」を求められます。信頼できるスクリプトであるという確認ボタンを押し、Googleアカウントとの連携を完了させてください。
ステップ5:トリガーの設定(最強の自動化)
GAS左側の「時計アイコン」からトリガーを設定します。
「トリガーを追加」を選択
「時間主導型」の「日付ベースのタイマー」を選択
「午前 8 時〜9 時」など時間を指定
これで、寝ている間にブログが勝手に更新されるシステムが完成します。
5. さらに上を目指すためのカスタマイズ術
ここからは、中級者向けに「さらにブログを面白くする方法」を伝授します。
1. 複数のキーワードをまとめて取得する
ひとつの記事に複数のアーティストの情報を入れたい場合は、配列を活用します。
var keywords = ['YOASOBI', '藤井風', 'Vaundy']; // これをループ処理(for文)で回すだけで、 // 全アーティストの情報を1記事にまとめることができます。
2. 記事の装飾をリッチにする
現在は単純なリスト形式ですが、HTMLの知識があればCSSを追加してデザインを変更可能です。
style='color: #ff0000;' を追加して日付を目立たせる border: 1px solid #ccc; padding: 10px; でカード型デザインにする
3. Googleスプレッドシートと連携する
過去にどんなニュースを配信したかをログとして残したい場合、Googleスプレッドシートをデータベースとして活用するのがおすすめです。SpreadsheetApp を使えば、投稿したニュースのタイトルとURLをスプレッドシートに追記する仕組みを簡単に作れます。
6. 自動化運用の注意点
自動化は非常に強力ですが、いくつか守るべきマナーがあります。
著作権への配慮: RSSで取得した情報の「見出し」や「リンク」を共有するだけなら問題ありませんが、記事全文をコピーして掲載することは著作権法に抵触する恐れがあります。必ず「概要の引用」にとどめ、元記事へのリンクをしっかり貼るようにしましょう。
品質の維持: 全て自動化すると、ブログの個性が失われる可能性があります。自動更新記事を「最新情報まとめ」として活用しつつ、週末には自分の考察記事を投稿するなど、「自動化 × 人の手」のバランスを意識してください。
エラーハンドリング: たまにGoogleニュースの形式が変わったり、ネットワークエラーが起きたりすることがあります。try...catch 文は必ず残しておき、エラー時に自分宛てに通知が来るようにすると、復旧がスムーズです。
まとめ:あなたの時間を創造的な作業へ
ブログ運営において、もっとも価値があるのは「あなたの思考」や「あなた独自の体験談」です。RSSの収集や記事作成の単純作業は、こうしてプログラムに任せてしまいましょう。
毎日1時間かかっていたニュースのキュレーション作業が自動化されれば、その1時間を「本当に書きたかったエッセイ」や「詳細なレビュー記事」の執筆に充てることができます。
「技術で効率化し、人間は創造性に集中する」
これこそが、現代のブロガーが持つべき強力な武器です。ぜひ、今日からこのシステムを導入して、より質の高いブログ運営を楽しんでください。
上記のプログラムで自動実行された内容は上記サイトに自動反映されます。









