【速報】ガジェッター新規記事通知システムの構築日記①

2026年8月6日 (更新: 2026年8月6日)
トマト王国国王 クソガキッズ
トマト王国国王
総合 2 12,649pt

トマトの王国で国王をしてます
いつも真っ赤な顔してます

Amazonのアソシエイトとしてガジェッターは適格販売により収入を得ています
GUIDE

開発/制作/DIY記録

ガジェッターの新規記事通知システムを作りました。

ガジェッターに新着記事が追加されたらLINEで通知してくれる仕組みがあったら嬉しいですよね

正直ガジェッターのトップページをホーム画面に追加で簡単にアクセスできるようにしてるので、ラインでの通知システムが必要かどうかは微妙ですが、なんかあったら嬉しいですよね


タイトルに速報とあるように

まだ作り途中ですが、一応動くところまでは持って行けました

オープンソース精神として、みんなで改良していった方が一人でAIとやるよりいいかなと思うのでとりあえず途中ではありますが、いろいろ公開します

安定動作までいけたらやり方の詳しい解説とかもできたらいいですが、私の技術力では多分無理そうです


使った物・サービス

ガジェッターのRSS

ライン公式アカウント

グーグルアップスクリプト (GASってやつ)

チャットGPT無料プラン


簡単に作り方書いておきます

ライン公式アカウントでAPI(メッセージングAPIってやつ)を取得します

そこで、チャンネルアクセストークンってやつと、ユーザーIDってのをゲットします

そのあとグーグルアップスクリプトってやつにチャットGPTで作ったコードを貼り付けます


チャットGPTが生成したやつはこれです

const RSS_URL = "https://gadgeteer.jp/rss.xml"; const CHANNEL_ACCESS_TOKEN = "あなたのチャネルアクセストークン"; const USER_ID = "あなたのユーザーID"; function checkRss() { const props = PropertiesService.getScriptProperties(); const xml = UrlFetchApp.fetch(RSS_URL).getContentText(); const doc = XmlService.parse(xml); const channel = doc.getRootElement().getChild("channel"); const items = channel.getChildren("item"); const lastGuid = props.getProperty("lastGuid"); // 初回実行 if (!lastGuid) { const latestGuid = items[0].getChildText("guid") || items[0].getChildText("link"); props.setProperty("lastGuid", latestGuid); Logger.log("初回設定完了"); return; } const newItems = []; for (let i = 0; i < items.length; i++) { const guid = items[i].getChildText("guid") || items[i].getChildText("link"); if (guid === lastGuid) { break; } newItems.push(items[i]); } if (newItems.length === 0) return; // 古い順に並べ替え newItems.reverse(); let text = `🆕 新着記事(${newItems.length}件)\n\n`; newItems.forEach((item, index) => { text += `${index + 1}. ${item.getChildText("title")}\n`; text += `${item.getChildText("link")}\n\n`; }); UrlFetchApp.fetch("https://api.line.me/v2/bot/message/push", { method: "post", headers: { Authorization: "Bearer " + CHANNEL_ACCESS_TOKEN, "Content-Type": "application/json" }, payload: JSON.stringify({ to: USER_ID, messages: [{ type: "text", text: text }] }) }); const newestGuid = items[0].getChildText("guid") || items[0].getChildText("link"); props.setProperty("lastGuid", newestGuid); }

私のチャットGPTは無料プランなので、有料版のチャットGPTとかクロードとか使用した方が良いコードを生成できると思います

そのあと、トリガーってところで

時間ベースでリピーターを設定しました


リピーターが正しく動作してるかは微妙ですが、手動実行ではちゃんとLINEに通知が来ましたので多分いけてると思います。

関連記事

gadgeteer.jp
リンクカード
gadgeteer.jp
gadgeteer.jp
リンクカード
gadgeteer.jp
gadgeteer.jp
リンクカード
gadgeteer.jp


関連記事も見てくれるとすっごく嬉しいです。頑張って記事書いてるのでコメントとかもしてほしいです。

Gadgeteer for Macintosh
PR

関連商品

Facebook LINE B! はてな RSS
LIKE

いいね (8件)&足跡 (10件)

TALK

コメント (3件)

はる@ガジェッター
これでじぶんの記事に来たコメントの通知も来たらいいのにな~
トマト王国国王
@はる@ガジェッター 多分できると思います https://gadgeteer.jp/main/rss_guide.php
これ見てみてください
はる@ガジェッター
@トマト王国国王 ほんとうだ!確かに行けそう!
ちょっくら作ってきます!
NEXT

前後の記事

MORE

関連レビュー

ガジェットレビュー
投稿しませんか?
~投稿特典プレゼントあり~
特典 マウスパッド