5
5

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.

Google Services(Google Spreadsheet & Google Apps Script & goo.gl & Google Calendar)を使った個人開発メモ

Last updated at Posted at 2016-03-25

概要

とあるサービスを開発中に祝日情報がJSON形式で欲しくなり、Google Servicesで開発した時に感じたことの備忘録

使用したもの

サービス名 用途
Google Spreadsheet Webブラウザでスプレッドシートを操作
Google Apps Script Google SpreadsheetをJavaScriptで操作
goo.gl Google Apps Scriptで公開したWebアプリのURLが長く使いづらいので、短縮したURLを生成
Google CalendarのICAL
(設定->カレンダー->日本の祝日->カレンダーのアドレス->ICAL)
iCalendar形式での祝日情報の取得

Google Apps Script

  • 自分が使用したメソッドをリストアップ
クラス 戻り値 メソッド(引数) 用途
Logger Logger log( data ) ログ出力
PropertiesService Properties getScriptProperties() スクリプト単位のプロパティの取得
Properties Properties setProperty( key, value ) プロパティの設定
String getProperty( key ) プロパティの取得
SpreadsheetApp Spreadsheet create( name ) スプレッドシートの作成
Spreadsheet openById( id ) スプレッドシートを開く
Spreadsheet String getId() スプレッドシートのID取得
Sheet getSheetByName( name ) シートの取得
Integer getNumSheets() シート数の取得
Sheet insertSheet( sheetName, sheetIndex ) シートの追加
Sheet Range getRange( row, column ) セル範囲の取得
Range getRange( row, column, numRows, numColumns ) セル範囲の取得
Range getDataRange() データが入力されているセル範囲の取得
Integer getLastColumn() データが入力されている最後の列数の取得
Integer getLastRow() データが入力されている最後の行数の取得
Range Range setValue( value ) セルに値を設定
Range setValues( values ) セルに値を設定
Object getValue() セルから値を取得
Object[][] getValues() セルから値を取得
Integer getColumn() セルの列番号を取得
Integer getRow() セルの行番号を取得
Integer getMaxColumns() シートの最大列数の取得
Integer getMaxRows() シートの最大行数の取得
Range setFontColor( color ) 文字色の設定
Range setHorizontalAlignment( alignment ) 水平方向の配置の設定
Range setVerticalAlignment( alignment ) 垂直方向の配置の設定
Range setWrap( isWrapEnabled ) 折り返しの有無の設定
UrlFetchApp HTTPResponse fetch( url, params ) HTTP通信を行う
HTTPResponse String getContentText() HTTPレスポンスのコンテンツをテキストで取得
ContentService TextOutput createTextOutput( content ) テキストコンテンツを生成
TextOutput TextOutput setMimeType( mimeType ) MIMEタイプの設定
String getContent() テキストコンテンツの取得
  • 注意点
問題 対策
Logger.log()の使用状況が限定される
- 通信ごとにリセットされる
- POSTメソッド実行時には表示できない
ログ出力専用シートを作成し、1ログを1セルに保存する
ライブラリを利用する側でライブラリのデベロッパーモードを有効にするときは注意が必要 デベロッパーモードが無効の場合は指定したバージョンが使用されるが、有効な場合はリアルタイムな状況のライブラリが使われることになるので、注意。
ただし、ライブラリとライブラリを利用するスクリプトを並行して開発する場合は有効にしておくと便利なので、最初は有効にしておきライブラリが安定したときに無効にするとGood!
公開したライブラリのバージョン削除は慎重に行う必要がある Webアプリの場合、Webアプリとして公開した最新のバージョンは削除できないが、ライブラリの場合はライブラリとして利用されているバージョンでも削除できる。
もし、使用していたライブラリのバージョンが削除された場合は、実行時にライブラリが見つからずにエラーになる

成果物

サービス名 Google Apps Script公開形式
ogas ライブラリ
holiday Webアプリ

まとめ

  • JavaScriptでスプレッドシートを操作すると気持ちいいので、Let's challenge!
  • Googleが超ヤバイ!
5
5
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
5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?