2022年6月14日火曜日

【GAS】Google Analytics 4 のデータを Googleスプレットシートに集約し、PDFでメール添付する方法

Google Analytics (UA) については、以前やり方について書き出していました。

ここで利用したGoogle スプレットシートに「Google Analytics」アドオン が Google Analytics 4 に非対応のため、別のアドオンを使ったやり方を紹介します。

*下記で紹介する「Google Analytics™ connector by SyncWith」は無料版の場合、35回/月の更新しかサポートされていません。20サイトを毎日1回更新した場合、月に1度しか更新できないことになります。1サイトなら1日1度で問題ないが、それ以上は https://syncwith.com/pricing にあるように Business 以上が必要だということですね。

流れは次の通り
  1. Google Analytics 4 からデータを取得し、Googleスプレットシートに挿入
  2. Googleスプレットシートにまとめページ「TOTAL Summary」シートを作成
  3. Googleスプレットシートに送信先「Send-Emails」シートを作成
  4. Google Apps Script で「TOTAL Summary」シートを、メール本文(HTML)とPDF添付で「Send-Emails」に入力したメールアドレス宛に送信
「3」「4」は Google Analytics (UA) 用のものを流用するので、ここでの説明は割愛します。

STEP 1. Google Analytics 4 からデータを取得し、Googleスプレットシートに挿入

Googleスプレットシートにアドオン「Google Analytics™ connector by SyncWith」をインストールします。


こちらは、従来の Google Analytics 3(UA)に対応しています。

詳しくは、下記のブログ先が参考になると思います。
  1. 拡張機能 > Google Analytics™ connector by SyncWith > Manage connections を開く
  2. Google Analytics 4 を選択
  3. Connect an account ボタンをクリックして、 Google Analytics 4 の管理をしているGoogleアカウントでログインします。
    *もし複数アカウントの Google Analytics 4 からデータを取得したいなら、あとでアカウントを追加できます。
  4. 次の設定あたりで十分でしょう。また下記の設定をしているものとして先に進みます。
    - タイトル:Googleスプレットシートの「シート名」になるので短い名前がよいです
    - Select a login: Googleアカウントを選択
    - Select a Google Analytics account: Google Analytics 4で設定したアカウント
    - Loading properties: Google Analytics 4 のプロパティ
    - 日時:下記は、Between を選択し、2022年度を指定しています。
    - Dimensions: Country のみ(今回は国別アクセス数が必要なため)
    - Metrics: Active users, New users, Views
         New users: 新規訪問者数
       Views: アクセス数
    - Scheduling: Automatically refresh daily (1日に1度更新)
  5. 入力し終わったら Insert ボタンを押すことで、「タイトル」シートが生成され、下図のような国別アクセス数が記録されます。
もし複数ページあるなら、
拡張機能 > Google Analytics™ connector by SyncWith > Manage connections
を開いて「Browse」ボタンを押すことで、サイトを追加していくことができます。

STEP 2. Googleスプレットシートにまとめページ「TOTAL Summary」シートを作成

Total Summary シートを作成します。

シートの2行目まではメモとなります。ただしメールで送付されることになるので、ログの取得期間などの情報をいれておくと便利かと思います。


上記で重要なのは、次の4つです。

Sheet Name: Google Analytics™ connector by SyncWithで設定したタイトル(シート名)

Access Log: 関数「=SUM(INDIRECT(B5 & "!D:D"))」を入れる
*Sheet Name!D:D(Viewsの欄)の合計値となります。

Visitors: 関数「=SUM(INDIRECT(B5 & "!C:C"))」を入れる
*Sheet Name!C:C(Viewsの欄)の合計値となります。

Countries: 関数「=COUNTIF(INDIRECT(B5 & "!A:A"), ">=A")」をいれる
*Sheet Name!A:A(Countryの欄)が空欄でない場合
*COUNTA や COUNTIFの "<>" 条件の場合、空欄にみえてデータが入っているのかうまくいきません。そのため、C言語でよくやる文字の数値での比較「C言語における文字(文字変数char)・文字列の表現(ASCIIコード表つき)」が使えるんじゃないかーと思ってやってみたら上手く言った程度です。ここは改良の余地ありですね。

TOP 10 of Countries: 関数「=INDIRECT(B5 & "!A3:A13")」を入れる
実際には11ヵ国にしてます。Japan がトップになることも多くて、日本以外の TOP 10が知りたいなと思ったためです。このあたりは、A3:A13をA3:A12に変えたりいろいろ調整してください。

ここまで出来たら下記の、
(後半)一括取得した Googleスプレットシートの特定シートデータをメール本文(HTML)と PDF にして添付したメール送信
を参考にしてください。

Googleドライブの共有アイテムで削除できない共有ファイルがある場合の対処方法

下図のように、共有アイテムのファイルを右クリックして「削除」がグレーアウトしている場合があります。その場合の対処方法についてです。

こちらについては、 Google Workspace 提供の 共有フォルダが関連するため、Google Workspace サポートに問い合わせた結果、回答を得ましたので共有します。

重要:削除権限を有している場合、データ元が削除されてしまう

今回の問題は、Google Workspace の「共有フォルダ」においているファイルを、閲覧専用権限で共有した場合、編集権限を持たないユーザーがアクセスすることで、「削除」権限がないためグレーアウトになるということです。

下図のように共有アイテム内にある、共有フォルダデータは、赤丸のアイコンになります。それ以外は人形のアイコンです。


裏を返せば、「共有アイテム」にあるデータのうち「共有フォルダ」にいれたファイルやフォルダについて編集権限(削除権限)がある場合、共有アイテムから削除すると「共有フォルダ」にいれたオリジナルのデータも消えるということです。ですので必ず削除権限のない「グレーアウト」したファイルのみを削除してください。

== Google Workspace サポートからの回答の一部抜粋 ==

共有アイテムから削除権限のない共有フォルダ内データを削除する方法

  1. 共有アイテムを開く
  2. 共有ドライブから共有されているアイテムを右クリックし、”ゴミ箱に移動” がグレーアウトしていることを確認する *(1)
  3. 対象のアイテムをゴミ箱に、ドラッグ・アンド・ドロップで移動する
  4. メッセージを確認し操作を承認する

*(1) "ゴミ箱に移動" がグレーアウトしている = そのアイテムを実際に削除する権限を所持していない状況となります。実アイテムを削除できないため、共有アイテム内でゴミ箱に移動を行っても、共有ドライブ泡のアイテムが削除されることはございません。

なお、共有ドライブ内のアイテムを削除する権限を保つ場合 (ゴミ箱に移動や削除のオプションを選択できる場合)、本操作に操作によって共有ドライブ側のアイテムが削除されますこと、予めご留意ください。

※ 通常では自身がメンバーとなっている共有ドライブ内のアイテムは、共有アイテム上に表示されないものの、ファイル単位でデータを共有された後に、共有ドライブのメンバーとなった場合、自身が削除できるアイテムが、共有アイテム上に表示される恐れがございます。

=== ここまで ===

共有アイテムは、あくまで共有しているだけのため、整理不要という考え方もあります。ただし整理しすぎると、データを消してしまう恐れがあるので注意が必要です。

2022年6月14日 @kimipooh


2022年6月9日木曜日

電子メールソフトやアプリで突然メールが受信できなくなった

2022年6月以降、そうした質問が Gmail ヘルプコミュニティに急増しています。

下記にある通り、2022年5月30日より Google認証システムに対応していない電子メールアプリやソフト類についてサポートが終了したことが原因になっています。


Google OAuth2 対応状況

手持ちの Outlook 2019 と 2021は Google OAuth2に対応していることを確認しました。サードパーティ製のメール クライアントで Gmail を設定する(Google Workspace管理者ヘルプ)をみると、Outlookは 2016は一部対応しているようです。ただ手持ちのものが対応していませんでした。


試してみると、設定し直しが必要でした。

Thunderbird は Google メールアカウントの OAuth 2.0 認証への自動変換

Mozillaのサポートサイト情報によれば、91.8.0 以降 Gmailが設定されている場合 OAuth2 へ設定を自動切り替えしたようです。設定のサーバー設定より、受信と送信について認証方式が OAuth2 となっていれば問題ありません。

非対応の場合

利用されている Gmailについて、2段階認証を有効にした上で、アプリ固有のパスワードを設定すれば利用できるようになるはずです。

2022年6月9日 @kimipooh



どうしてもPOP形式を使いたいのであれば、利用されている Gmailについて、2段階認証を有効にした上で、アプリ固有のパスワードを設定すれば利用できる可能性はあります。

2022年5月27日金曜日

【Google Workspace】ユーザーも管理者も転送設定していないのに、勝手にメールが転送される場合

Google Workspace をそれなりに長く使っている場合、件名のようなことが起こり得るので備忘録としてのこします。筆者は Google Workspace サポートに連絡して解決しました。感謝!

ユーザーのメールを別アドレスにルーティングする(廃止)



この廃止された機能は、廃止されても以前に設定したものは有効になったままでした。

管理画面 > ユーザー > ◯◯ユーザー > ユーザー情報 > メール ルーティングを設定(一番した)

において、下記のように転送設定があれば、「ユーザーのルーティング設定をクリア」リンクより、設定をクリアすることで解決します。

2022年5月27日 @kimipooh

2022年5月9日月曜日

無料版 G Suite Legacy を Google Workspace Business Starter にアップグレードする

従来の無償版 G Suite(Google Workspace管理者ヘルプ)にあるように、無料版 G Suite は、2022年6月1日より利用できなくなります。実際には自動的に Google Workspace Business Starter に変更されるか、6月1日までに提示される待機リストに設定することで Gmail等一部サービスが削除された Googleアカウントへ移行するかのいずれかの選択肢になるようです。

料金不要の待機リスト

2022年5月9日時点で、まだ待機リストについての新しい情報はありません。設定もできません。2022年5月17日時点で待機リストの情報が、下記のコミュニティの「おすすめ」にでていました。

Still no waitlist option for legacy GSuite free (Google Workspace Admin Help Community) 

従来の無償版 G Suite (Google Workspace Admin Help) より一部抜粋

  • 人またはご家族が非営利目的でアカウントを利用されている場合は、従来の無償版 G Suite を引き続きお使いいただけます。こちらをクリックするか、Google 管理コンソールを使用して、Google Workspace への移行を無効にできます。

筆者も長らく 無償版 G Suite を利用してきました。

この待機リストを利用する予定でしたが、家族でいろいろ利用していること、移行するのにまだ少し時間がかかることから、1年程度有料版を使うことにしました。1年間は半額の割引があることも決断した要因です。




アップグレードの手順と注意事項

一番つまずいたのが請求先住所が米国になっていて先に進めなかったことです。これには焦りました。管理コンソールに警告されるメッセージからアップグレードをしようとすると上図のようにドル表示になっており、請求書住所が米国になっており、米国の州選択が必須になってしまいます。

G Suite 無償版ではサポートがチャットのみになっていました。申し込むと 5件待ちで、なかなかサポートを受けることができません。その間に下記の記事を見つけて、そのとおりするとうまくいきました。

その他のサービスを利用する」から「Google Workscape Business Starter」等有料サービスを選択し、「開始」を選択


すると上部に「国」の選択画面がでてくるので、ここで「日本」を選択しましょう。

すると下図のように「日本」になります。

うまく購入できたら、下記の画面が表示されます。

そしてサブスクリプションについて、有料版になっていることが確認できます。


2022年5月9日 @kimipooh

2022年3月11日金曜日

Gmailの情報保護モードの動きについて(備忘録)

情報保護モードは、有効期限の範囲内において受信した人以外閲覧できないモードです。
しかしそのメールを転送や返信して別の人に送った場合、受信側が Gmail かそうでないかで挙動が異なるため、備忘録として残しておきます。

情報保護モードの仕組み

情報保護モードで Gmail のメールを保護する(Google Workspace 管理者ヘルプ)

をみると、情報保護モードで送ったメールの内容は、送信側に保存されており、受信者はその都度、送信側に保存されているデータを閲覧しているという感じに見えます。

つまりは送信側のGmailが存在しなくなったら(GoogleアカウントからGmailを削除Googleアカウントの削除)、受信側はアクセスできなくなるだろうと思います。

また送信側の Gmailが存在しなくなる場合として、Google アカウント アクティビティについてなどにあるように、2年間全く Gmail を利用していない場合も含むようになっています。

以下は 2022年3月11日時点で実際に試したときの動きになります。将来的には変わる可能性があることに注意してください。

受信側が Gmailの場合の動き


Gmail上で情報保護モードで受け取ったメールは転送はできず、返信はできるようです。返信した段階で、受信した人が新たな情報保護モードを設定したことになるようです。
つまり
  • Gmail(A) --保護メール --> Gmail(B) -- 返信(保護メール) --> メール(C) 等の場合
メール(C)が受け取るのは、Gmail(B)が保護したメールだということになりました。

受信側が Gmail以外(テストしたのは Outlook.com のメール)の場合の動き


 「メールを表示」のリンクがあり、受信者のメールアドレスしか開くことができないようロック(Googleアカウント)されています。これを転送した場合、ロックされたGoogleアカウントでログインしていなければ閲覧できませんでした。

2022年3月11日 @kimipooh

2022年2月18日金曜日

MacBookAir 11inch に Google ChromeOS Flex をインストールしてみよう!

2月17日に、Google、無料OS「Chrome OS Flex」を発表 Intel MacやWindows PCをChromeマシンに(ITMedia)などの記事が目についたため、実際に手持ちにあった古い MacBookAir 11inch にインストールしてみました。

なお ChromeBook (Samsung XE303)では、作成した USBインストーラーがインストーラーとして認識できないため、起動もインストールもできませんでした。ChromeBookでUSB起動をする方法は、「Chromebookで開発者モードを有効にする方法」「How to Enable USB Booting on Chromebook」「Chromebook でファンクションキーを使う方法。F1 から F12 までどこに割り振られているのか?!」あたりを参考にしました。特にF2が上部の→に割り当てられているのに気づくのが大変でした。

また、Touch Barのあるかなり新しい Intel MacBookPro 15inch ではインストーラーが動作しませんでした。これはその1台だけかもしれません。

USB起動のインストーラーとWindows端末へのインストール方法は

How to Try and Install Chrome OS Flex: Step-By-Step Guide

に詳しく書かれています。

また公式FAQも充実していますね!


MacBookAir についても、Option を押しながら起動して、USBメディアのアイコンを選択して起動する部分が異なるだけで、あとは同じです。

もともと MacBookAir 11inch はもう使用に耐えられないほど遅い端末であり、OSのサポートもされていないもののため、Chrome OS Flex も起動はそこそこかかります。しかし起動してしまえば快適に使える感じがします。

Zoom利用について


ブラウザからの利用あるいは Chrome の Zoomアプリを利用できます。しかし。2022年2月18日の時点で、Zoomアプリは 5.0.1 と古く、またブラウザからの利用では E2EE の暗号化(エンドツーエンドの暗号化)された Zoom Meeting には接続できません。Google Chromebook、あるいは ChromeOS Flex で ChromeBook化した端末については、その Meeting については「拡張された暗号化」のほうを設定していく必要がありそうですね。



以下、その中でのサマリー的なメモを残しておきます。

STEP 1. インストーラーの作成


Chromeブラウザに、Chrome リカバリーユーティリティをインストールし、これを起動します。あとは、メーカー「Google Chrome OS Flex」を選択し、下記のように現在利用可能なOS(2022年2月18日時点では開発版)を選択して続行します。

STEP 2. MacBookAir をUSB起動する


Option を押しながら起動し、Chrome OS FlexのインストーラーをインストールしたUSBメモリを選択します。

STEP 3. インストールする

下の写真のような画面になれば、USBから Chrome OS Flexのインストーラーの起動が成功しています。
必要に応じてEnglishの部分をクリックして、言語およびキーボード配列(デフォルトは、英語、USキーボード配列)を変更してください。
そして「Get Started」ボタンをクリックします。


下の写真は表示言語を日本語にした場合です。
USBから Chrome OS Flex を試したいなら、「試してみる」を、内蔵ディスク(中身は全部消えます)にインストールするなら、 CloudReady 2.0をインストールを選択して、「次へ」に進んでください。


STEP 4. Chrome OS Flex の起動を確認する

Wi-Fi 等ネットワークが接続できている場合、Googleアカウントでログインした後であれば下の写真のようにユーザーが出てきます。そうでなければ、ログインを促されます。


2022年2月18日 @kimipooh