Slide 1

Slide 1 text

Tiny Mouse Google Apps Script で書いたアプリを配付する プログラミング生放送勉強会 2019/10/26

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

蔵書管理アプリを作った

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

簡易なベーシック認証する ID が違えばシートにアクセス不可 スプレッドシートのID シートのファイル ID を指定してアクセス 指定された ID のシートにアクセス $.ajax({ url: “https://script.google.com/macros/s/○○○○○○○○/exec”, type: 'GET', data: { keywords: encodeURIComponent(“◎◎◎◎◎◎◎◎”), docid: ”●●●●●●●●” }, }) function doGet(e) { if (!e.parameter.docid || !canOpen(e.parameter.docid)) { return ContentService.createTextOutput(JSON.stringify({ result: "id not specified", })).setMimeType(ContentService.MimeType.JSON); } ....

Slide 7

Slide 7 text

ファイル ID を設定画面で登録する 簡易なベーシック認証する

Slide 8

Slide 8 text

よくあるモバイルアプリとサーバサイドアプリ クライアントアプリは配布できる

Slide 9

Slide 9 text

l Google Play Store で公開する l ウェブサイトで公開する スマホアプリを配付する

Slide 10

Slide 10 text

https://sites.google.com/view/tinymouse-zoshodaicho 蔵書管理アプリを作った

Slide 11

Slide 11 text

サーバサイドは開発者のリソースを使う よくあるモバイルアプリとサーバサイドアプリ

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

GAS のコードやドライブのオブジェクトはコピーできる 実は・・ gapi.load('client', function(){ gapi.client.init({ apiKey: '◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆', clientId: '●●●●●●-●●●●●●●●●●●●●●●●.apps.googleusercontent.com', scope: 'https://www.googleapis.com/auth/◇◇' }) }); gapi.auth2.getAuthInstance().signIn() .... .then(function(data){ $('#status').text("蔵書データベースを設定しています (1/7) 。配付するプログラムを取得しました。"); // ①プロジェクトを作成する $('#status').text("蔵書データベースを設定しています (2/7) 。プロジェクトを作成します。"); return gapi.client.request({ path: 'https://script.googleapis.com/v1/projects', method: 'POST', body: { title: '蔵書台帳' } }); }) }) ....

Slide 15

Slide 15 text

GAS のコードやドライブのオブジェクトを配付する コピーできた情報をスマホアプリの設定にセットしたい

Slide 16

Slide 16 text

GAS のコードやドライブのオブジェクトを配付する QR コードで表示してスマホアプリで読取して貰う

Slide 17

Slide 17 text

実は・・ 事前に Google Apps Script API の設定を 変更して貰わないといけない

Slide 18

Slide 18 text

実は・・ 配付できたスクリプトを開いて 実行の承認して貰わないといけない

Slide 19

Slide 19 text

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