Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Google Apps Script アプリを配付する
Search
Tiny Mouse
October 26, 2019
Programming
150
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
100
今年がんばったこと
tinymouse
0
140
【LT会】インプット・アウトプットどうしてる?
tinymouse
0
75
今年がんばったこと
tinymouse
0
200
.NET MAUI+Blazor を使ってみた
tinymouse
0
230
【LT会】この技術書がすごい
tinymouse
1
230
蔵書管理アプリを作り直した
tinymouse
1
1.1k
Windows アプリの開発手段の選択肢をまとめてみた
tinymouse
0
200
蔵書管理アプリを作りました
tinymouse
0
700
Other Decks in Programming
See All in Programming
AmebaブログはKMPから卒業します
kmars0605
0
320
AI時代のTerminal環境を UNIX哲学で設計・運用する
yasunori0418
1
340
React Native経験者が Flutterを30⽇間触って驚いたこと
3saito
0
150
クラウドゲーミングのパフォーマンス最適化に挑む / Cloud Gaming Performance Tuning
vivion
0
320
React Native에 현대적인 빌드 도구 더하기: Rollipop 구현기
leegeunhyeok
0
180
オーケストレーション記述言語 Katari
yukikurage
0
220
動画プレイヤーはなぜカクつくのか 〜Flutterのレンダリングとネイティブの境界を解剖する〜
naruogram
0
330
Web3Dライブラリを作ってVue Custom Rendererの仕組みを理解しよう / lets learn vue custom renderer by making 3d library
drumath2237
1
120
Apple Intelligenceとオンデバイス時代の到来
yahir0
0
200
Event is what happens
moro
2
3.5k
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
3
1.7k
[2026-10-14](C)Re:ゼロから始める異世界生活〜始まりの終わりと終わりの始まり〜
tosite
0
320
Featured
See All Featured
How to Ace a Technical Interview
jacobian
280
24k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.2k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.4k
Accessibility Awareness
sabderemane
1
290
Optimizing for Happiness
mojombo
378
71k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
520
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.9k
The Language of Interfaces
destraynor
162
27k
The Curious Case for Waylosing
cassininazir
1
610
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.5k
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 の設定を 変更して貰わないといけない
実は・・ 配付できたスクリプトを開いて 実行の承認して貰わないといけない
なかなか大変だ! ということで・・