【自動化】GoogleアラートのRSSフィードでディープテックニュースを取得してWordPressブログに投稿するためのGASコード
function sendNewsToWordpress() {
// 複数のGoogleアラートのRSSフィード
var feedURLs = [
"https://www.google.co.jp/alerts/feeds/04553575274938561090/2550248286584165157", // 3Dプリンター
"https://www.google.co.jp/alerts/feeds/04553575274938561090/16059620679464340912", // AI
"https://www.google.co.jp/alerts/feeds/04553575274938561090/12638593193617730023", // AR(拡張現実)
"https://www.google.co.jp/alerts/feeds/04553575274938561090/14381422998161399483", // IoT
"https://www.google.co.jp/alerts/feeds/04553575274938561090/5556319420450407449", // VR(仮想現実)
"https://www.google.co.jp/alerts/feeds/04553575274938561090/5556319420450409152", // ウェアラブル
"https://www.google.co.jp/alerts/feeds/04553575274938561090/16794066904799385040", // クリーン電力
"https://www.google.co.jp/alerts/feeds/04553575274938561090/15806980034930970238", // ゲノム編集
"https://www.google.co.jp/alerts/feeds/04553575274938561090/16059620679464340392", // スタートアップ
"https://www.google.co.jp/alerts/feeds/04553575274938561090/15806980034930969728", // センサー
"https://www.google.co.jp/alerts/feeds/04553575274938561090/16059620679464340397", // ディープテック
"https://www.google.co.jp/alerts/feeds/04553575274938561090/5556319420450406885", // ナノ・テクノロジー
"https://www.google.co.jp/alerts/feeds/04553575274938561090/5556319420450409371", // ニューラルネットワーク
"https://www.google.co.jp/alerts/feeds/04553575274938561090/15806980034930970047", // ヒューマン・オーグメンテーション
"https://www.google.co.jp/alerts/feeds/04553575274938561090/12481722330316883281", // ブレインテック
"https://www.google.co.jp/alerts/feeds/04553575274938561090/13774144907955320862", // ブロックチェーン
"https://www.google.co.jp/alerts/feeds/04553575274938561090/16059620679464339801", // ロボット
"https://www.google.co.jp/alerts/feeds/04553575274938561090/15806980034930968167", // 宇宙飛行
"https://www.google.co.jp/alerts/feeds/04553575274938561090/4398640580773365811", // 機械学習
"https://www.google.co.jp/alerts/feeds/04553575274938561090/2550248286584168371", // 月面探査
"https://www.google.co.jp/alerts/feeds/04553575274938561090/5556319420450407362", // 合成生物学
"https://www.google.co.jp/alerts/feeds/04553575274938561090/4398640580773365137", // 自動運転
"https://www.google.co.jp/alerts/feeds/04553575274938561090/15806980034930967979", // 寿命延長技術
"https://www.google.co.jp/alerts/feeds/04553575274938561090/16794066904799386504", // 人間拡張
"https://www.google.co.jp/alerts/feeds/04553575274938561090/2550248286584167858", // 人口知能
"https://www.google.co.jp/alerts/feeds/04553575274938561090/4398640580773364589", // 生成AI
"https://www.google.co.jp/alerts/feeds/04553575274938561090/15806980034930966863", // 精密医療
"https://www.google.co.jp/alerts/feeds/04553575274938561090/15806980034930966863", // 代替エネルギー
"https://www.google.co.jp/alerts/feeds/04553575274938561090/2901094834792970420", // 没入技術
"https://www.google.co.jp/alerts/feeds/04553575274938561090/16794066904799384027", // 埋め込み技術
"https://www.google.co.jp/alerts/feeds/04553575274938561090/4398640580773365184", // 量子コンピュータ
"https://www.google.co.jp/alerts/feeds/04553575274938561090/14381422998161396098", // 量子コンピューティング
];
// WordPressのエンドポイントURL、ユーザー名、パスワード
var endpoint = 'https://deep-recommend.blog/wp-json/wp/v2/posts';
var username = 'deeplab';
var password = 'dr1S BL1B yV0y Lsq9 Hwv6 fGMP';
// フィードURLごとに処理
for (var f = 0; f < feedURLs.length; f++) {
// フィードからデータを取得
var atom = XmlService.getNamespace('http://www.w3.org/2005/Atom');
var document = XmlService.parse(UrlFetchApp.fetch(feedURLs[f]).getContentText());
var items = document.getRootElement().getChildren('entry', atom);
// 取得した件数分Wordpressへ投稿
for(var i = 0; i < items.length; i++) {
// サイトのURLを取得
var link = items[i].getChild('link', atom).getAttribute('href').getValue();
// サイトのタイトルを取得
var title = items[i].getChild('title', atom).getText();
// URLとタイトルを連結
var message;
if (i == 0){
message = "(*)今日のニュースをお届けします\n" + title + "\n" + link;
} else {
message = title + "\n" + link;
}
// HTMLタグを除去してWordpressへ投稿
var postData = {
method: 'POST',
headers: {
'Authorization': 'Basic ' + Utilities.base64Encode(username + ':' + password)
},
payload: {
title: title,
content: message.replace(/<("[^"]*"|'[^']*'|[^'">])*>/g,''),
status: 'publish'
}
};
UrlFetchApp.fetch(endpoint, postData);
}
}
}