かずきち。の日記

サーバサイドエンジニアのつぶやき

【GoogleAppsScript活用術】GoogleニュースのYOASOBIの最新情報をBloggerへ自動投稿する方法


【完全保存版】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時間を「本当に書きたかったエッセイ」や「詳細なレビュー記事」の執筆に充てることができます。

「技術で効率化し、人間は創造性に集中する」

これこそが、現代のブロガーが持つべき強力な武器です。ぜひ、今日からこのシステムを導入して、より質の高いブログ運営を楽しんでください。

yoasobi-news.blogspot.com

上記のプログラムで自動実行された内容は上記サイトに自動反映されます。

【CSS/JS】スマホではみ出るポップアップを自動縮小して全画面に綺麗に収める方法


WEBサイトのCVR(コンバージョン率)向上や、SNSへの誘導に便利な「ポップアップ表示」

しかし、要素を詰め込みすぎたり、固定のサイズを指定していたりすると、「スマホで見たら画面の下側がはみ出て、閉じるボタンが押せない!」という最悪のユーザー体験を招いてしまうことがあります。

今回は、そんなポップアップの「画面はみ出し問題」を解決し、どんな端末でも自動で最適化されるレスポンシブコードの解説をしていきます。

1. 修正前のコードが抱えていた問題点

元のコードでは、ポップアップのコンテンツ部分(.optimize-m-inner)が中央配置され、文字量や画像がそのままの大きさで表示されるようになっていました。

一見綺麗に見えますが、これには以下の3つの落とし穴があります。

  • 高さの制限がない (height / max-height の未設定)

文字量が多く、画像が2枚もあるため、画面の縦幅が狭いスマホ(iPhoneのSEシリーズや、スマホを横向きにした時など)では、ポップアップの上下が画面外に飛び出してしまいます。

  • HTML直書きのサイズ指定 (width="40%")

タグに直接 width="40%" と書く手法は、親要素の横幅に対しての40%になるため、全体のレイアウトがFlexboxなどで制御されていない場合、意図しないサイズ感になりがちです。

  • 余白(margin)が固定で大きい

各要素の下に一律で 20px の余白が取られていたため、要素が積み重なるにつれて縦に長いポップアップになっていました。

2. 画面内に必ず収めるための4つのアプローチ
これらの問題を解決するために、CSSを中心に以下の4つのアプローチを行いました。

① max-height: 90vh と overflow-y: auto のコンビ
これが最も重要な対策です!

.optimize-m-inner {
  max-height: 90vh; /* 画面の高さの90%を上限にする */
  overflow-y: auto;  /* 万が一超えた場合は、枠内だけでスクロールさせる */
}

ポップアップ全体の高さを「画面の高さ(Viewport Height)の90%」までに制限します。これで、絶対に画面外へ突き抜けることがなくなります。さらに、入り切らなかったテキストや画像はポップアップの内部だけでスクロールできるようになるため、最下部にある「閉じるボタン」にも必ず辿り着けます。

② 画像のサイズ制御をCSSに一元化
HTMLに書かれていた width="40%" を削除し、CSSでスマートに制御します。

CSS

.optimize-m-image img, 
.optimize-m-qr img {
  max-width: 40%;
  height: auto;
  object-fit: contain;
}
<||

max-width: 40% とすることで、親要素の幅に対して最大でも40%に抑え、縦横比を保ったまま綺麗に縮小させます。

③ box-sizing: border-box で計算を狂わせない
意外と忘れてはいけないのがこれです。

CSS
>|javascript|
.optimize-m * {
  box-sizing: border-box;
}

これをしておかないと、padding(内側の余白) や border(枠線) のせいで、指定した幅(90%など)よりも実際の要素が大きくなってしまい、微小なはみ出しやレイアウト崩れの原因になります。

④ メディアクエリ(@media)で背の低い画面にも対応
スマホを横向きにした時など、画面の高さが極端に低くなった場合(今回は600px以下)を想定し、文字サイズや余白、画像をさらに一回り小さくする設定を追加しました。

@media screen and (max-height: 600px) {
  .optimize-m-inner { padding: 15px; }
  .optimize-m-lead { font-size: 18px; }
  .optimize-m-image img { max-width: 30%; } /* 画像をさらに小さく */
}

3. 【完成版】レスポンシブ対応ポップアップコード
全ての対策を盛り込んだ、差し替え用のコードがこちらです。JavaScriptの挙動(セッションストレージでの1回限定表示や、閉じるボタンのイベント)はそのままに、デザインの堅牢性を大幅にアップさせています。

<script>
(function() {
var o = document.createElement('div'); o.className = 'optimize-m';
o.insertAdjacentHTML('afterbegin','<div class="optimize-m-background" data-m-close></div><div class="optimize-m-inner">\
<figure class="optimize-m-image">\
<img src="https://cdn-ak.f.st-hatena.com/images/fotolife/k/kazukichi_0914/20240731/20240731202344.png">\
</figure>\
<h4 class="optimize-m-lead">\
おめでとうございます\
</h4>\
<h5 class="optimize-m-sublead">\
下記QRコードを読み込むと筆者SNSアカウントおよび各種ネットショッピングで使える限定割引コードを入手できます\
</h5>\
<p class="optimize-m-text">\
本ポップアップを下の閉じるボタンで消して続きを読むこともできます。\
</p>\
<div class="optimize-m-qr">\
<img src="https://cdn-ak.f.st-hatena.com/images/fotolife/k/kazukichi_0914/20240731/20240731201339.png">\
</div>\
<button class="optimize-m-button" data-m-close>閉じる</button></div>\
<style>\
.optimize-m {position:fixed;top:0;left:0;z-index:999999;width:100vw;height:100vh;box-sizing:border-box;}\
.optimize-m * {box-sizing:border-box;}\
.optimize-m-background {width:100%;height:100%;position:absolute;top:0;left:0;z-index:-1;background:rgba(0,0,0,.45);}\
.optimize-m-inner {background:#FFF;border-radius:12px;min-width:260px;width:90%;max-width:400px;max-height:90vh;top:50%;left:50%;position:absolute;z-index:1;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);padding:20px;text-align:center;box-shadow:0px 0px 15px rgba(0,0,0,.4);overflow-y:auto;display:flex;flex-direction:column;align-items:center;}\
.optimize-m-image, .optimize-m-lead, .optimize-m-sublead, .optimize-m-text, .optimize-m-qr {margin-bottom: 15px; width: 100%;}\
.optimize-m-image {margin-top:0;}\
.optimize-m-image img{max-width:40%;height:auto;object-fit:contain;}\
.optimize-m-qr img{max-width:40%;height:auto;object-fit:contain;}\
.optimize-m-lead{font-size:20px;font-weight:700;color:#333;margin-top:0;}\
.optimize-m-sublead{font-size:15px;font-weight:700;color:#666;margin-top:0;}\
.optimize-m-text{font-size:14px;text-align:left;margin-top:0;}\
.optimize-m-button{background:#EE82EE;color:#FFF;border:none;border-radius:1em;font-size:18px;font-weight:700;padding:.4em 1.5em;cursor:pointer;flex-shrink:0;margin-top:auto;}\
@media screen and (max-height: 600px) {\
  .optimize-m-inner {padding: 15px;}\
  .optimize-m-lead {font-size: 18px; margin-bottom: 10px;}\
  .optimize-m-sublead {font-size: 13px; margin-bottom: 10px;}\
  .optimize-m-text {font-size: 12px; margin-bottom: 10px;}\
  .optimize-m-image img, .optimize-m-qr img {max-width: 30%;}\
}\
</style>'
);
if(sessionStorage.__popup__!==1)document.body.appendChild(o);sessionStorage.setItem('__popup__',1);[].slice.call(document.querySelectorAll('[data-m-close]')).forEach(function(el){el.addEventListener('click',function(){o.style.display='none'})});
})()
</script>

まとめ:UXを損なわないポップアップ作りを
ポップアップはユーザーに強いインパクトを与えられる反面、「消せない」「画面が崩れている」状態になると、サイトからの即離脱に繋がる諸刃の剣です。

今回紹介した max-height: 90vh と overflow-y: auto の組み合わせは、ポップアップ実装における鉄板の防衛策ですので、ぜひ自社サイトやブログの実装に取り入れてみてください!

インバウンド需要を逃さない!訪日外国人をファンにする「多言語ブログ」のススメ


近年、ブログやWebサイトへのアクセスは日本国内だけにとどまりません。魅力的なコンテンツを作成していても、言葉の壁によって海外の読者を逃してしまっていませんか?

今回は、技術的な知識が少なくても簡単に実装できる「Google翻訳ウィジェット」を活用した多言語対応のメリットと、その導入方法について解説します。
なぜ今、Webサイトの多言語対応が必要なのか?

アクセス数の拡大
自動翻訳を導入することで、英語圏だけでなく、アジアや欧州など、世界中のユーザーがあなたの記事を母国語で読めるようになります。

滞在時間の向上
ユーザーにとって「自分の言語で読める」ことは大きな安心感につながります。情報の理解度が深まり、サイトへの信頼度も高まります。

訪日外国人(インバウンド)層へのアプローチ
日本旅行に関心がある層にとって、現地の生の情報が母国語で読めるサイトは非常に貴重な存在です。

Google翻訳ウィジェットを導入するメリット
Google翻訳ウィジェットは、特定のコードをHTMLに埋め込むだけで、瞬時にサイトを多言語変換できる強力なツールです。

低コスト・即効性: 大掛かりな翻訳ツールを導入することなく、すぐに対応可能です。

メンテナンス不要: Googleの高性能な翻訳エンジンを使用するため、コンテンツを更新するたびに翻訳を依頼する必要がありません。

導入のお手伝いをいたします

「設定方法が少し不安」「自分のブログでうまく動作するか確認したい」という方もご安心ください。
現在、ココナラにてWebサイトへの自動翻訳機能導入のサポートサービスを提供しております。あなたのブログに最適な形で翻訳ウィジェットを設置し、訪日客や海外の読者を逃さない環境づくりをお手伝いします。

興味がある方は、ぜひ以下のリンクから詳細をご覧ください。

ウェブサイトを動的に自動翻訳昨日を導入します 訪日客を逃さない。サイトが自動で多言語に変わる。

GA4時代に必須!「エンゲージメント率」を上げるだけでコンバージョンが変わる理由


エンゲージメントとは?

Webサイトの運営において、多くの人が真っ先に気にするのは「アクセス数(PV数やセッション数)」ではないでしょうか。
しかし、ただ人が訪れるだけでは、ビジネスの成果には直結しません。今、アクセス解析の現場で最も重視されている指標が「エンゲージメント」です。

ウェブサイトと実店舗のエンゲージメント比較
「エンゲージメント」という言葉は、実店舗に置き換えると非常に分かりやすくなります。

アクセス数=「入店客数」
お店の前の通りを歩いている人や、ふらっとドアを開けて中を覗いた人の数です。しかし、入店してもすぐに帰ってしまう人や、何も見ずに通り過ぎるだけの人も含まれます。

エンゲージメント=「店内の滞在・体験」
商品を手に取ったり、店員と会話をしたり、試着をして「検討」している状態です。ウェブサイトであれば、コンテンツをじっくり読む、スクロールする、動画を再生する、あるいはリンクをクリックする等の「能動的な操作」がこれに当たります。

実店舗で「100人来店したけれど、誰も商品を見てくれなかった店」と「10人しか来店しなかったけれど、全員が熱心に説明を聞いてくれた店」では、どちらが売上に繋がるかは明白です。ウェブも全く同じです。

なぜエンゲージメント計測が不可欠なのか

Google アナリティクス 4(GA4)が導入され、かつての「バウンス率(直帰率)」に代わり、エンゲージメント率が重要視されるようになりました。理由は以下の3点に集約されます。

「質の高い訪問」を可視化する

単にページを開いただけ(放置)なのか、内容を深く読み込んだのかを識別することで、コンテンツが本当にユーザーのニーズに応えられているかを測定できます。

UX(ユーザー体験)の改善指標になる

エンゲージメントが低い場合、表示速度が遅い、デザインが見にくい、あるいはターゲットとコンテンツがズレている可能性を示唆します。改善の優先順位を判断する羅針盤となります。

コンバージョン(成果)の予兆を掴む

多くの行動を起こすユーザーほど、購入や問い合わせに至る可能性が高いことは統計的に明らかです。エンゲージメントを分析することで、成約に近いユーザーの行動パターンが見えてきます。

結論:量より「深さ」を追い求めよう

アクセス数は「入り口」に過ぎません。真のビジネス成果を出すためには、訪れたユーザーがいかにして深くサイトに関わり、ファンになってくれるかという「質の深さ」を追い求める必要があります。

今日からアクセス数だけでなく、ぜひ「エンゲージメント」の指標にも目を向けてみてください。ユーザーの「興味の深さ」を知ることが、サイト改善の最短距離です。

Amazonの「カートボタン」は押すな!損しないための賢い買い方を知ってる?


Amazonで商品ページを開いたとき、目に飛び込んでくる「小売希望価格」や「参考価格」

これらを見て「安い!」と即座に「カートに入れる」ボタンを押していませんか?
実はその行動こそ、最も避けるべき落とし穴かもしれません。
Amazonは巨大なマーケットプレイスであり、表示されている価格が必ずしも「最善」ではないからです。賢く買い物をするためには、表面上の数字だけでなく、裏側に隠された「真の価格」を包括的に見極める目が必要です。

BuyBoxで「何」がわかるのか?

まず理解すべきは、商品ページの右側に鎮座する「カートに入れる」ボタン、通称BuyBox(バイボックス)の正体です。
これは、Amazonのシステムが「価格・配送スピード・出品者の信頼性」を総合判断し、「今のこの瞬間に最も購入すべき(条件が良い)出品者」として自動選抜されたものです。

つまり、BuyBoxを見れば「Amazonが今のところの最適解として提示している出品者と価格」がわかります。しかし、これはあくまで「Amazonのアルゴリズムが選んだ一つ」であり、あなたが求める「最安値」や「最良のコンディション」とは必ずしも一致しません。

ここテストに出ます。
価格、コンディション、出品者評価などを総合的に加味した商品がAmazonのBuyBoxです。

わかりやすく説明すると、
1000円のロレックスの時計があって、中国からの発送で、本物かどうか伺わしい商品と
100万円のロレックスの時計があって、銀座の宝石屋からの発送で、信頼できる商品があったときに後者にAmazonのBuyBoxが適応されます。
すなわち商品の質ではなく、出品者の優劣を判定してくれるのがBuyBoxになります。

包括的に見るべき「裏側のリスト」

BuyBoxの表示だけで満足せず、以下のポイントを掘り下げることで、買い物は劇的に最適化されます。

Amazon・新品・新品プライム: 信頼性の高い「Amazon直販」だけでなく、マーケットプレイス出品者がAmazonの物流網(FBA)を利用している「新品プライム」も比較対象です。配送スピードと価格のバランスを見ましょう。

第三者(マーケットプレイス)出品: 自己発送を行う第三者出品者の場合、価格は安いが到着まで時間がかかることがあります。送料や評価を考慮し、トータルで納得できるかを確認します。

BuyBox中古・Amazonアウトレット(倉庫の価格): 新品にこだわらないなら、ここが宝の山です。返品商品や外箱破損品を扱う「Amazonアウトレット」は、ほぼ新品同様でも格安です。商品ページの「中古品」タブから、詳細なコンディション説明を確認する癖をつけましょう。

「買い時」を見極める視点

これら全てを比較しても、価格が「今、高いのか安いのか」を判断するのは難しいものです。
ここで役立つのが、価格推移をグラフ化してくれるツールです。過去数ヶ月の変動を見れば、小売希望価格と比較して「今はセール前で意図的に高くなっているのではないか?」といった見えない背景まで読み解けます。

株のチャートを見るようにこの商品をどこから購入するべきかがわかります。

Amazonでの買い物は、単なるボタン操作ではなく「市場調査」です。
BuyBoxという入口から一歩踏み出し、新品から中古(倉庫品)までを並べて比較する。
そのひと手間で、あなたのAmazon体験は「なんとなく買う」から「納得して賢く買う」へと進化するはずです。

次回のショッピングでは、ぜひ「右側」だけでなく、その下に隠れた出品者リストを覗いてみてください。
本当の掘り出し物が、あなたを待っているかもしれません。

祝・GASが「一軍サービス」へ昇格!日本のGWS正式採用で幕を開ける、業務自動化のネクストステージ

workspaceupdates.googleblog.com

祝・GASが「一軍」昇格!日本のGWS正式採用で幕を開ける、現場発DXのシン・時代

これまで日本のビジネスの現場において、Google Apps Script(GAS)はどのような扱いを受けてきただろうか。

「確かに便利だけど、情シスの管理外だからなぁ」
「野良スクリプトが増えると困るから、あまり大っぴらに使わないで」

そんな風に言われ、どこか「日陰のツール」として扱われてきた歴史がある。現場の業務効率化を爆発的に進めるポテンシャルを持ちながらも、企業の上層部やセキュリティ担当者からは「シャドーIT」の予備軍として、やや冷ややかな目で見られることも少なくなかった。

実力は圧倒的なのに、公式の打席には立たせてもらえない。ベンチの隅で牙を研ぎ続けていた「二軍」の筆頭。
それが、これまでのGASを取り巻くリアルな空気感だった。

しかし、ついにそのパワーバランスが完全に崩れる日がやってきた。

GASが日本のGWSにおいて、ついに名実ともに「正式なコアサービス(一軍)」へと格上げされる。
J2からJ1に昇格みたいなものである。

この最高の報せを聞いた瞬間、全国のGASサポーター、そして現場の泥臭い自動化に命を懸けてきたエンジニアたちの脳内には、歓喜のファンファーレが鳴り響いたはずだ。
今回は、長年「虐げられてきた(?)」便利ツール群が、ついにメインストリートの真ん中を堂々と歩めるようになった喜びと、これから始まる逆襲の未来について、熱く語らせてほしい。

なぜ今までGASは「二軍」扱いだったのか?

話を進める前に、これまでのGASが置かれていた切ないポジションを振り返っておこう。
GASの強みは、ブラウザとGoogleアカウントさえあれば、環境構築ゼロでJavaScriptベースのコードを書ける手軽さにある。スプレッドシート、Gmail、Googleドライブ、GoogleカレンダーといったGWSの主要アプリを縦横無尽に結びつけ、APIを叩いて外部サービスと連携する。その破壊力は、何百万円もするRPAツールを凌駕することすら珍しくない。

しかし、それゆえに「情シスが把握できないブラックボックス」になりやすかった。

「担当者が退職して、誰もメンテできない秘伝のソースコードが残った」
「会社の重要データが、個人が書いたスクリプト経由でどこに飛んでいるか不透明」

こうしたガバナンスやセキュリティの懸念から、多くの日本企業では「積極的な利用は推奨しない」「使うなら自己責任で」という、いわば“黙認”のステータスに甘んじていたのだ。開発者たちは、トリガーの実行エラーやQuota(制限値)の壁に怯えながら、会社の隅っこでひっそりとコードを書くしかなかった。
まさに「内助の功」としては最高なのに、表舞台の家族写真には入れてもらえないような、そんな切なさがそこにはあった。

「正式採用」という名のお墨付きがもたらす大逆転

だが、今回の「日本のGWSで正式サービスとして採用」というアップデートは、そのすべてを過去のものにする。
これは単なる機能追加やマイナーアップデートではない。
企業が公式にGASを認め、セキュリティやガバナンスの枠組みに組み込んで「攻めのIT」として全社展開できるお墨付きを得たということだ。

正式採用されることで、何が変わるのか?

1. 情シスが「味方」になる
これまで「禁止か黙認か」で頭を悩ませていた情報システム部が、公式の管理機能(Admin Console)やログ監視の枠組みの中で、安全にGASをコントロールできるようになる。これにより、「公式の社内インフラ」としてGASを使ったシステム開発が認められる。

2. 開発者が「日陰」から「日向」へ
「勝手にツールを作って怒られないだろうか……」という謎の罪悪感から、全自動化エンジニアたちが解放される。これからは「業務効率化の英雄」として、堂々と胸を張ってメインステージでコードをアピールできるのだ。

3. 周辺の「一軍未満」だったツール群の連鎖的格上げ
GASが公式の一軍になることで、これまで同様に「便利だけどちょっとグレー」扱いされていたGoogle Tag Manager(GTM)のサーバーサイド連携や、各種API(Gemini APIなどの生成AI連携含む)を活用したワークフローも、一気に公式な「一軍のシステム」として市民権を得ることになる。

今までベンチを温めさせられていた職人たちが、一斉にグラウンドに飛び出して極上のプレイを披露する。そんなエキサイティングな時代が、いよいよ幕を開ける。

手軽さという武器をそのままに、エンタープライズの領域へ

私たちがGASを愛してやまないのは、その「圧倒的な打率の高さ」だ。
大掛かりなサーバーを立てる必要もなく、`UrlFetchApp` を一行書くだけで外部のWebフックを叩き、ChatworkやSlack、LINEに通知を飛ばせる。スプレッドシートのデータをパースして、10秒後には自動でカスタマイズされたPDFの請求書を作成し、Gmailで一斉送信する。
この「現場の痒いところに秒速で手が届く」という体験は、重厚長大なシステム開発では絶対に真似ができない。
これまでは、その手軽さと引き換えに「急な仕様変更で動かなくなったらどうしよう」という不安が常に付きまとっていた。
しかし、公式のサポートラインに乗り、GWSの一翼として担保されるのであれば、これほど心強いことはない。
現場発のボトムアップな改善(=草の根DX)が、トップダウンの経営戦略(=公式なIT投資)とガッチリ握手を交わす。これこそが、日本のホワイトカラーの生産性を底上げする真のブレイクスルーになるはずだ。

さあ、エディタを開いて新しいコードを書き殴ろう

制約という名の鎖は解き放たれた。
今まで「虐げられてきた」とすら言える、現場の愛すべき自動化ツールたちの逆襲は、ここからが本番だ。
もし、あなたのデスクトップに「いつか全社で使いたいけれど、今は自分だけでこっそり使っているスクリプト」があるなら、今こそそれをブラッシュアップする最高のタイミングだ。リファクタリングをして、エラーハンドリングを徹底し、いつでも共有できる準備を始めよう。

日本のビジネスに、GASという名の最強のエンジンが公式に組み込まれた。
このお祭りのような新時代を、ただ見ているだけではもったいない。今すぐ使い慣れたスクリプトエディタを開き、未来を動かす新しいコードを書き殴ろう。

GASの未来は、これまで以上に、どこまでも明るい。

海外からブログを見てくれる人がいる。ワールドカップが教えてくれた、小さなブログの大きな未来。

ブログ運営において、ワールドカップなどの国際的なイベントをきっかけに海外からのアクセスが増加するのは非常に大きなチャンス

多言語化は、海外の読者が情報を理解し、ファンになってくれる可能性を飛躍的に高めます。

今回は、自身のブログ(はてなブログ等)にGoogle翻訳ガジェットを設置し、読者の利便性を向上させる方法を解説します。

1. なぜブログに翻訳が必要なのか

海外からの流入が増えたということは、あなたの書くコンテンツに価値があるという証拠です。しかし、言語の壁は読者の離脱を招きます。自動翻訳ガジェットを設置することで、読者はワンクリックで自身の母国語に切り替えることができ、情報の取りこぼしを防ぐことができます。これは、信頼性を高め、長期的なファンを獲得するための重要な一歩です。

2. Googleタグマネージャー(GTM)での追加方法

GTMを使えば、ブログのソースコードを直接いじらなくても、効率的に翻訳機能を全ページに一括導入できます。以下の手順で設定してください。

【手順】

GTMでタグを作成: 「タグ」>「新規」を選択し、「カスタムHTML」を選択します。

コードの貼り付け: 以下のコードをコピーして貼り付けてください。

<script>
  (function() {
    if (!document.getElementById('google_translate_element')) {
      var el = document.createElement('div');
      el.id = 'google_translate_element';
      document.body.appendChild(el);
    }
  })();
</script>
<style>
  #google_translate_element {
    position: fixed;
    top: 60px; left: 20px; z-index: 999999;
  }
</style>
<script type="text/javascript">
  function googleTranslateElementInit() {
    new google.translate.TranslateElement({
      pageLanguage: 'ja',
      includedLanguages: 'ja,en,zh-CN,ko,es,fr,de',
      layout: google.translate.TranslateElement.InlineLayout.SIMPLE,
      autoDisplay: false
    }, 'google_translate_element');
  }
</script>
<script src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>

トリガー設定: 「トリガー」に「All Pages」を指定し、保存します。

公開: GTMの「公開」ボタンをクリックして反映させます。

3. 効果的な運用に向けて

このコードは、画面の左上に翻訳メニューを固定配置するものです。もしブログのデザインと重なる場合は、top: 60px; の数値を変えることで微調整可能です。

海外読者の増加は、あなたのブログが世界とつながった証です。翻訳ツールを活用して、ワールドカップのように熱いコミュニティを築いていってください。もし「特定の場所にもっと綺麗に配置したい」「デザインをブログに馴染ませたい」といった要望があれば、いつでも調整をサポートしますのでお声がけください。

ウェブサイトを動的に自動翻訳機能を導入します 訪日客を逃さない。サイトが自動で多言語に変わります

Appleが最大27%の値上げを実施…物価上昇局面では型落ちスピードとの比較を行って買い物をしよう!

corriente.jp

先日、AppleがMacやiPadなどの一斉値上げを敢行した。何気なくAppleストアを覗いて、我が目を疑ってしまった。

私が2025年に135,800円で購入したお気に入りのMac mini(M4・512GBモデル)が、なんと170,800円に改定されているのだ。


価格改定の現実
2025年購入時:135,800円
2026年現在:170,800円
差額:+35,000円

あの時「もう少し待てばセールでもう少し安くなるかも」「次世代モデルが出るまで待とう」などと考えず、直感を信じて即決しておいて本当に命拾いした。
もし購入を先延ばしにしていたら、全く同じスペックのハードウェアを手に入れるために、余分に3万5千円を支払わなければならなかったのだから。

今回の価格改定の背景には、長期化する円安の進行だけでなく、世界的な半導体メモリの供給不足や、AI機能(Apple Intelligence)の実装コストといった構造的な要因が絡んでいるという。
つまり、この物価上昇のスピードは一時的なブレではなく、
今後も簡単には止まらないトレンドなのだ。

この現実を前にして、私は一つの確信に至った。
今の時代、ガジェットや必要な機材の購入において「値下げを待つ」という選択は、もはやリスクでしかないということだ。

かつては「発売から時間が経てば安くなる」「次の新モデルが出れば型落ちが狙い目」というのがガジェット購入の定石だった。
しかし、物価上昇のスピードがこれだけ早い現代においては、待っている間にベースの価格自体が数万円単位で跳ね上がってしまう。
待った結果として得られるかもしれない数千円の値下げ期待は、一瞬で吹き飛ぶ。

さらに言えば、早く買えばそれだけ「その道具を使って価値を生み出す時間」を前借りできる。
Mac miniのような生産性を直結させる道具ならなおさらだ。1年早く買って毎日使い倒していれば、その間に生み出せる成果や効率化の価値は、3万5千円の差額など優にペイできる。

欲しいもの、必要なものがあるなら、値下げを待つより1日でも早く買ったほうがいい。

「いつか買う」のなら、「今」が常に最安値。このインフレ時代を生き抜くための、これが新しい買い物の方程式なのかもしれない。

オランダの空港のトイレで絶望した、まるで「進撃の巨人」!?トイレの高さが規格外だった…


今日のオランダ戦で数年前にアムステルダム空港でトランジットときのことを思い出しました

本日開催されたサッカー日本代表の試合をテレビで観戦しながら、私はある光景を思い出していました。
ピッチの上で繰り広げられる、屈強な海外選手たちとの肉弾戦。
空中戦で競り合う日本代表の選手たちが、相手の圧倒的な高さに屈することなく、果敢に挑む姿です。

かつては「13cmの壁」として、その体格差が絶望的な障壁だと語られた時代もありました。
しかし、今日の彼らを見ていると、その数字がもはや「越えるべき戦術」の一部になっていることを痛感します。

オランダの空港で味わった「絶望」

実は以前、オランダの空港で私は人生最大の「絶望」を味わったことがあります。

個室のドアを開けた瞬間、目の前に現れたのは、日本ではお目にかかれないほど「巨人仕様」の便座でした。
日本ではそれなりに背の高い私でも、背伸びをしながら用を足す必要があります。


まさに『進撃の巨人』の世界に迷い込んだかのような、圧倒的な無力感に包まれたのです。
そのとき、ふと脳裏をよぎったのが、W杯で日本代表を悩ませてきた「13cmの壁」でした。

13cmが示すもの

オランダで物理的な高さに翻弄された経験を経て、私は理解しました。この「13cm」という数字は、ただの身長差ではないのです。
それは、私たちが普段、いかに「自分たちの規格」の中だけで世界を測っているかという気づきであり、同時にそれを打破しなければならないという挑戦の指標でもあります。

今日の代表戦でも、相手との身長差は間違いなくありました。
しかし、選手たちはその13cmを埋めるための戦術眼と、何より「世界に食らいつく」という強靭なメンタリティで、その壁を無効化しようとしていた。


世界と戦うということ
オランダのトイレで爪先立ちしながら感じた「高さへの恐怖」は、今でも鮮明に覚えています。
ピッチの上の選手たちも同じはずです。
テレビで見ていると同じ人間だからと勝てると思いますが、オランダのトイレのサイズが規格外だったのを思い出します。

サッカー日本代表テーマソング 米津玄師「Raven」とハリポッターのクラス「レイブンクロー」で覚える!八咫烏の英単語を楽しく記憶する方法

ワールドカップ2026のサッカー日本代表のテーマソング「Raven」

www.youtube.com

「カラス」を英語で何と言うか、皆さんはどう覚えていますか?学校で習うのは「Crow」ですが、実は「Raven」という単語も耳にする機会は多いですよね。

「Crow」と「Raven」、この二つはどう使い分ければいいのでしょうか。実は、英語圏では「Crow」は一般的な「カラス」を指し、「Raven」はそれより一回り大きく、少し神秘的なイメージを持つ「ワタリガラス」を指すことが多いです。
海外遠征をしている日本代表にちなんで、「Raven」という曲名になっているんだと思います。

この「Raven」という単語、どうしても覚えにくいと感じる方に、とっておきの覚え方をご紹介します。それは、「好きなものとセットにして脳に刻み込む」という方法です。

1. サッカー日本代表の熱狂とともに

まず一つ目は、米津玄師さんが手がけたサッカー日本代表の応援ソング『カイト』……ではなく、もしあなたが「米津玄師のRaven」というフレーズを耳にしたら、それは記憶のフックになります。
実際、米津玄師さんは『KICK BACK』や他の楽曲でも独特な世界観を展開していますが、もし好きなアーティストが「Raven」という言葉を歌っていたら、その曲のメロディーと一緒にスペルを記憶してしまいましょう。好きな音楽と結びついた言葉は、忘れることがありません。

2. ハリー・ポッターの寮名で

二つ目は、世界中で愛される『ハリー・ポッター』シリーズです。
ホグワーツ魔法魔術学校には4つの寮がありますが、その中の一つに「レイブンクロー(Ravenclaw)」がありますね。
「賢者の寮」として知られるレイブンクロー。この名前は、「Raven(ワタリガラス)」+「Claw(爪)」からできています。知的なキャラクターたちが所属するこの寮の名前を思い出すだけで、「R-A-V-E-N」というスペルが自然と頭に浮かぶはずです。
今回のサッカー日本代表のテーマソング「米津玄師のRaven」がしっくりきますね

まとめ

英単語は、ただ丸暗記しようとすると苦痛ですが、
このように「推しの音楽」や「大好きな映画」とリンクさせると、驚くほど簡単に定着します。

「カラス=Crow」という基本は押さえつつ、ちょっとかっこいい響きの「Raven」も、ぜひ日常生活の楽しみとセットにして覚えてみてください。今日から「Raven」という単語を見るたびに、ホグワーツの制服や、スタジアムで響く熱い音楽を思い出せるようになるはずです!

注目記事