2
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

GASでユーザーのEmailアドレス、所属しているGoogle グループごとに表示するhtmlを切り替え

Posted at

新Google Siteでユーザーごとに表示するページを切り替えられなくなったので、ユーザーごとに表示するhtmlを切り替えるスクリプト(Google Siteに埋め込む為の)をGoogle App Scriptで書きました。

#ページを切り替える条件(2パターン)

  • ユーザーのEmail
  • ユーザーがあるGoogle グループに所属しているかどうか

#共通の手順

  1. App Scriptのエディタで新規プロジェクを作成
  2. 表示するHtmlを作成(A.html、B.html)
  3. スクリプトファイルを新規作成
  4. 下記のスクリプトを書く
  5. 公開→ウェブ アプリケーションとして導入
  6. 生成されたURLをGoogle Siteの挿入→埋め込む→URLの部分に貼り付け

#ユーザーのEmailごとに表示するHtmlを切り替え

function doGet() {
  // Get email address of the person running the script.
  var user_email = Session.getActiveUser().getEmail();
  if (user_email == "xxx@xxx.net") {
    return HtmlService.createTemplateFromFile("A").evaluate();
  }
  else{
    return HtmlService.createTemplateFromFile("B").evaluate();
  }  
}

#ユーザーがあるGoogleグループに所属しているかどうかによりHtmlを切り替え
要注意ポイント、自分がそのグループのメンバーであり、オーナーまたはマネージャー権限が必要です

function doGet() {
  // Set Google Group by Email.
  var group = GroupsApp.getGroupByEmail("xxx@xxx.net");
  var currentUser = Session.getActiveUser();
  if (group.hasUser(currentUser)) {
    return HtmlService.createTemplateFromFile("A").evaluate();
  } else {
    return HtmlService.createTemplateFromFile("B").evaluate();
  }
}

参考資料
Groups Service  |  Apps Script  |  Google Developers

2
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?