Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Google Apps Script アプリを配付する
Search
Tiny Mouse
October 26, 2019
Programming
140
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Google Apps Script アプリを配付する
プログラミング生放送 2019/10/26
Tiny Mouse
October 26, 2019
More Decks by Tiny Mouse
See All by Tiny Mouse
今年がんばったこと
tinymouse
0
82
今年がんばったこと
tinymouse
0
130
【LT会】インプット・アウトプットどうしてる?
tinymouse
0
60
今年がんばったこと
tinymouse
0
190
.NET MAUI+Blazor を使ってみた
tinymouse
0
210
【LT会】この技術書がすごい
tinymouse
1
210
蔵書管理アプリを作り直した
tinymouse
1
1.1k
Windows アプリの開発手段の選択肢をまとめてみた
tinymouse
0
180
蔵書管理アプリを作りました
tinymouse
0
680
Other Decks in Programming
See All in Programming
Android CLI
fornewid
0
110
Haskell/Servantを通してWebミドルウェアを捉え直す
pizzacat83
1
610
霧の中の代数的エフェクト
funnyycat
1
410
琵琶湖の水は止められてもNet--HTTPのリトライは止められない / You might be able to stop the water flow of Lake Biwa but you can't stop Net::HTTP retries
luccafort
PRO
0
430
作るコストが小さくなった時代 幸せに働くために改めて考えたいこと 〜エンジニアとして価値を出し続けるために注視している二分野〜
yuppeeng
0
120
【やさしく解説 設計編 #1】「ドメイン駆動」と「実装駆動」ってなに? 〜設計の考え方を、たとえ話で学ぼう〜
panda728
PRO
1
120
ITヒヤリハットを整理してみた ~ライフサイクルと原因から考える再発防止策~
koukimiura
1
110
継続モナドとリアクティブプログラミング
yukikurage
3
630
音楽のための関数型プログラミング言語mimiumにおける多段階計算の活用
tomoyanonymous
1
350
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
410
AIエージェントで 変わるAndroid開発環境
takahirom
2
710
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
360
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
220
Music & Morning Musume
bryan
47
7.3k
Designing for Timeless Needs
cassininazir
1
390
From π to Pie charts
rasagy
0
240
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
150
Chasing Engaging Ingredients in Design
codingconduct
0
240
4 Signs Your Business is Dying
shpigford
187
22k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.4k
The Limits of Empathy - UXLibs8
cassininazir
1
530
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
320
Transcript
Tiny Mouse Google Apps Script で書いたアプリを配付する プログラミング生放送勉強会 2019/10/26
n @tinymouse_jp n SI 企業の SE n 日曜プログラマ n 二児の父
n 静岡県浜松市出身 n 東京都品川区在住。名古屋市在住。 n Windows 愛用。iPhone Android スマホ n Android の会浜松支部、よちよち Android の会、 Hamamatsu.js Tiny Mouse 自己紹介
蔵書管理アプリを作った
サーバサイドに Google Apps Script を使う 「ウェブアプリケーションとして公開」 GET メソッド、POST メソッドを受けて JSON
などでレスポンスできる スプレッドシートをデータベースとして使う
サーバサイドに Google Apps Script を使う 誰でもアクセス可能 「ウェブアプリケーションとして公開」 GET メソッド、POST メソッドを受けて
JSON などでレスポンスできる
簡易なベーシック認証する 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); } ....
ファイル ID を設定画面で登録する 簡易なベーシック認証する
よくあるモバイルアプリとサーバサイドアプリ クライアントアプリは配布できる
l Google Play Store で公開する l ウェブサイトで公開する スマホアプリを配付する
https://sites.google.com/view/tinymouse-zoshodaicho 蔵書管理アプリを作った
サーバサイドは開発者のリソースを使う よくあるモバイルアプリとサーバサイドアプリ
サーバサイドに Google Apps Script を使う 自分のGoogle ドライブのオブジェクトを他人に使わせるか
GAS のコードやドライブのオブジェクトはコピーできる 実は・・
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: '蔵書台帳' } }); }) }) ....
GAS のコードやドライブのオブジェクトを配付する コピーできた情報をスマホアプリの設定にセットしたい
GAS のコードやドライブのオブジェクトを配付する QR コードで表示してスマホアプリで読取して貰う
実は・・ 事前に Google Apps Script API の設定を 変更して貰わないといけない
実は・・ 配付できたスクリプトを開いて 実行の承認して貰わないといけない
なかなか大変だ! ということで・・