GASで社内ポータルを自動化
GAS連携とサイト連携の概要
Google Apps Script(GAS)は、Google Workspace のサービスを自動化するための強力なツールです。GAS連携を利用すれば、Google Sites へのアクセスや操作をスクリプトから行うことができます。これにより、社内ポータルのページ作成やコンテンツ更新を自動化し、管理者の手間を大幅に削減できます。
サイト連携の基本は、SitesApp クラスを使って対象サイトを取得し、必要な操作を実行することです。SitesApp は Google Sites の REST API をラップしたもので、スクリプトから簡単にページの作成・更新・削除が可能です。
SitesAppでサイト取得とページ作成
まずはサイト取得から始めます。getSite メソッドを使うと、ドメインとサイト名を指定して対象サイトを取得できます。
function getSiteExample() {
var site = SitesApp.getSite('example.com', 'my-site');
Logger.log('取得したサイトのタイトル: ' + site.getTitle());
}
次に、取得したサイトに対してページ作成を行います。createPage メソッドは、ページ名と本文を引数に取り、新しいページを作成します。
function createPageExample() {
var site = SitesApp.getSite('example.com', 'my-site');
var page = site.createPage('New Page', 'This is a new page created by GAS.');
page.setContent('Welcome to the new page!
');
}
上記のスクリプトを実行すると、指定したサイトに「New Page」というタイトルのページが追加され、本文に HTML を挿入できます。createPage はページ作成の基本操作であり、社内ポータルの構築に不可欠です。
コンテンツ更新と社内ポータル管理
ページ作成後は、定期的にコンテンツ更新を行う必要があります。GAS からページの内容を取得し、必要に応じて更新することで、社内ポータルを常に最新の状態に保てます。
function updatePageContent() {
var site = SitesApp.getSite('example.com', 'my-site');
var page = site.getChildPage('New Page');
var currentContent = page.getContent();
var updatedContent = currentContent.replace('old text', 'new text');
page.setContent(updatedContent);
}
このように、getChildPage で既存ページを取得し、setContent で更新するだけで簡単に情報を反映できます。管理者はスクリプトを定期実行(トリガー)することで、手動での更新作業を減らせます。
さらに、複数ページを一括で管理する場合は、サイト内のページ一覧を取得し、ループで処理することも可能です。これにより、社内ポータル全体のコンテンツを一括更新でき、管理効率が飛躍的に向上します。
コメント
コメントを投稿