Upload
ikikko-nakamura
View
3.793
Download
4
Embed Size (px)
DESCRIPTION
2010/10/08 社外合同勉強会
Citation preview
今から始めるGoogle Apps Script
2010/10/08 @都内某所
自己紹介• 名前:ikikko• 所属:株式会社 ヌーラボ
アジェンダ• Google Apps Scriptの概要• 主な機能の説明• 注意事項
ときどきデモを交えます
Google Apps Scriptの概要
http://www.flickr.com/photos/darrentunnicliff/3371355414/
Google Apps Scriptとは
• Googleスプレッドシート上で、定型処理を自動化するためのスクリプト機能– Excelのマクロ機能のようなもの– VBAの代わりに、Javascriptで記述
http://code.google.com/intl/en/googleapps/appsscript/
デモ
http://www.flickr.com/photos/bluesquarething/4285344075/
Hello World
Hello Worldfunction helloWorld() {
var name = Browser.inputBox(“名前を入力してください”);
// ダイアログで表示Browser.msgBox(“こんにちは、” + name + “ さん”);
}
Google Apps Scriptの特徴• Webとの親和性が高い
–特に、Googleの他サービスとの連携が豊富– HTTP通信と各種フォーマット・プロトコルのサポート(SOAP・JSON・OAuth)
Google Apps Scriptの特徴• 実行タイミングの柔軟な制御ができる
–手動実行–イベント駆動
• スクリプトのインストール時• スプレッドシートのオープン時• スプレッドシートの編集時
–定期実行
機能一覧• Basic Services• Calendar Services• Contacts Services• DocsList Services• Finance Services• Jdbc Services• Language Services• Mail Services• Maps Serivces
• Properties Services• Sites Services• Soap Services• Spreadsheet Services• Ui Services• UrlFetch Services• Utilities Services• Xml Services
機能一覧(有用そうなもの)• Basic Services• Calendar Services• Contacts Services• DocsList Services• Finance Services• Jdbc Services• Language Services• Mail Services• Maps Serivces
• Properties Services• Sites Services• Soap Services• Spreadsheet Services• Ui Services• UrlFetch Services• Utilities Services• Xml Services
独自のダイアログを作成
キー・値での永続化
HTTP通信を行う
主な機能の説明
http://www.flickr.com/photos/swisscan/2918682767/
Spreadsheet Services• スプレッドシートを読み書きする
var name = Browser.inputBox(“名前を入力してください”);
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheet = spreadsheet.getSheets()[0];sheet.getRange("A1").setValue(name);
Mail Services
var address = "[email protected]";var subject = "Mail Servicesのテスト";
var body = "本文";
MailApp.sendEmail(address, subject, body);
• メールを送信する
UrlFetch Services• HTTP通信を行う
var response = UrlFetchApp.fetch("http://www.nulab.co.jp/");
Browser.msgBox(response.getContentText());
デモ
http://www.flickr.com/photos/bluesquarething/4285344075/
backlog-template-issue~ Backlogへ課題一括登録 ~
構成
1. スプレッドシートから登録データ取得2. Backlog APIを用いて、Backlogに課題登録3. Backlogから課題登録後の登録情報を取得4. スプレッドシートに登録結果を追記
http://github.com/ikikko/backlog-template-issue-gas/wiki
注意事項
http://www.flickr.com/photos/pictureperfectpose/76138988/
サーバサイドスクリプトブラウザによる差異がないクロスドメイン制約がない
Windowオブジェクトの使用不可• setInterval / setTimeout などDOM Parserの使用不可
開発環境どこでも開発できる
テストしにくいバージョン管理しにくいモジュール(ファイル)分割しにくい
標準で備わっているスクリプト履歴保存機能
APIの仕様変更自動で機能拡張されていく
仕様をコントロールできないクリティカルなバグがあっても対応できない(ことがある)
いきなりサービス停止にはならないかと思います
ご清聴ありがとうございました