Slide 1

Slide 1 text

Tiny Mouse サーバサイドを Google Apps Script で書く Mobile Act NAGOYA 2019/1/25

Slide 2

Slide 2 text

n @tinymouse_jp n SI 企業の SE n 日曜プログラマ n 二児の父 n 静岡県浜松市出身 n 東京都品川区在住。名古屋市在住。 n Windows 愛用。iPhone Android スマホ n Android の会浜松支部、よちよち Android の会、 Hamamatsu.js Tiny Mouse 自己紹介

Slide 3

Slide 3 text

よくあるモバイルアプリとサーバサイドアプリ JavaScript が好きな場合 GET メソッド、POST メソッドを受けて JSON などでレスポンスする

Slide 4

Slide 4 text

Google Apps Script n Google が提供する開発環境 n JavaScript ベース n Google のサーバ上で開発および実行する n Google Spreadsheet などを操作するオブジェクトが用意さ れている n Google ドキュメントの変更などのイベント、予め指定されたス ケジュール、外部からの指示などで実行できる

Slide 5

Slide 5 text

サーバサイドに Google Apps Script を使う 「ウェブアプリケーションとして公開」 GET メソッド、POST メソッドを受けて JSON などでレスポンスできる スプレッドシートをデータベースとして使う

Slide 6

Slide 6 text

楽でいいね! サーバサイドに Google Apps Script を使う

Slide 7

Slide 7 text

サーバサイドに Google Apps Script を使う 誰でもアクセス可能 「ウェブアプリケーションとして公開」 GET メソッド、POST メソッドを受けて JSON などでレスポンスできる

Slide 8

Slide 8 text

「実行可能 API として公開」 サーバサイドに Google Apps Script を使う 実装はちょっと面倒

Slide 9

Slide 9 text

GAS の「実行可能 API として公開」の仕組

Slide 10

Slide 10 text

クライアントを特定できる情報をクライアントアプリ、サーバサイド両方に仕込んでおく OAuth を使って API を呼出する仕組

Slide 11

Slide 11 text

Cordova アプリで OAuth を使って API を呼出する 認可サーバと遣り取りしてアクセストークンを貰うのが Cordova アプリだと面倒

Slide 12

Slide 12 text

Cordova アプリで GAS で書いたプログラムを呼出する Qiita に書いた https://qiita.com/tinymouse/items/3d40b17663cea2dfc394

Slide 13

Slide 13 text

サーバサイドは開発者のリソースを使う よくあるモバイルアプリとサーバサイドアプリ クライアントアプリは配布できる

Slide 14

Slide 14 text

サーバサイドに Google Apps Script を使う 自分のGoogle ドライブのオブジェクトを他人に使わせるか

Slide 15

Slide 15 text

GAS のコードやドライブのオブジェクトはコピーできる 実は・・

Slide 16

Slide 16 text

GAS のコードやドライブのオブジェクトはコピーできる Qiita に書いた https://qiita.com/tinymouse/items/352aa8582b6c2ef1ddf0

Slide 17

Slide 17 text

クライアント情報がコピーできない 認可と API 呼出は開発者のリソースを使うしかないか ところが・・

Slide 18

Slide 18 text

なかなか大変だ! ということで・・