新Google Siteでユーザーごとに表示するページを切り替えられなくなったので、ユーザーごとに表示するhtmlを切り替えるスクリプト(Google Siteに埋め込む為の)をGoogle App Scriptで書きました。
#ページを切り替える条件(2パターン)
- ユーザーのEmail
- ユーザーがあるGoogle グループに所属しているかどうか
#共通の手順
- App Scriptのエディタで新規プロジェクを作成
- 表示するHtmlを作成(A.html、B.html)
- スクリプトファイルを新規作成
- 下記のスクリプトを書く
- 公開→ウェブ アプリケーションとして導入
- 生成された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();
}
}