[GAS][Sites]サイトにWebページを追加するには: 逆引きGoogle Apps Script

2012 年 7 月 22 日 日曜日

▼サンプルスクリプト

スプレッドシートの値を読み取り、Webページを追加するサンプルスクリプト。

1
2
3
4
5
6
7
8
9
10
function createWebPage() {
  var site = SitesApp.getSiteByUrl('https://sites.google.com/a/xxxxxxxxx');
  var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var rows = ss.getRange('A2:B'+ss.getLastRow()).getValues();
  for(var i=0; i<rows.length; i++){   
    var title = rows[i+1][0];
    var name = rows[i+1][1];
    site.createWebPage(title, name, '<p>これはテストページです。</p>');
  }
}

行2 getSiteByUrl(url)でパラメータで指定したUrlのサイトオブジェクトを取得している。(参考:Urlからサイトオブジェクトを取得するには)
行4 指定した範囲の値を配列に格納している。getRange()は処理コストがかかるため、このように一旦対象範囲をすべて配列に格納してから、線形探索すると処理速度が向上する。

行5-
行9
{サイトオブジェクト}.createWebPage(title, name, html)で新しいWebページを追加することができる。行4でセットした配列をループしながら、ページタイトルとページ名を指定して追加している。

構文

{サイトオブジェクト}.createWebPage(title, name, html)

title
新しく追加するページのタイトル。
name
新しく追加するページのページ名(英数字のみ)。
html
新しく追加するページの本文。HTMLで記述する。

戻り値

Page
追加したページ

補足

createWebPage(title, name, html)に続けてsetParent(親Page)を指定することにより、親Pageの一つ下の階層にページを追加することができる。

注意点

createWebPageで指定したnameパラメータのページがすでに作成されている場合、エラーが発生する。そのため、実際はまずページが存在するか確認してから追加することになる。

スポンサードリンク

関連記事

コメントをどうぞ

トラックバック

このエントリーのトラックバックURL:

http://www.bmoo.net/archives/2012/03/313500.html/trackback