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
84
今年がんばったこと
tinymouse
0
130
【LT会】インプット・アウトプットどうしてる?
tinymouse
0
63
今年がんばったこと
tinymouse
0
190
.NET MAUI+Blazor を使ってみた
tinymouse
0
210
【LT会】この技術書がすごい
tinymouse
1
220
蔵書管理アプリを作り直した
tinymouse
1
1.1k
Windows アプリの開発手段の選択肢をまとめてみた
tinymouse
0
190
蔵書管理アプリを作りました
tinymouse
0
690
Other Decks in Programming
See All in Programming
バグを直したら useEffect が消えた
colorful12
3
630
AI Engineeringは、AIプロダクトだけのものか? 〜AIがソフトウェアを作る時代の新しい当たり前〜 / No AI in your product. AI Engineering in your development.
rkaga
4
470
関東Kaggler会_NVIDIA_Nemotron_コンペ_振り返り
rick_ds
0
650
実装をデザインガイドラインに追従させるための取り組み / 260731-dip-mosh-design-system
dachi023
0
5k
Japan Community Day at Kubecon + CloudNativeCon Japan 2026: Learning Container Privilege Control by Building My Own Low-Level Container Runtime
ternbusty
1
160
in-process GraphQL のすすめ #ginzajs
izumin5210
4
1.4k
複数の Claude Code が"放置"されてしまう問題をCLI ダッシュボードを自作して解決した話
sumihiro3
1
700
freeeにおけるEvalsの実践例の紹介
freee
PRO
0
120
仕様駆動開発へのトライを機に チームに適合する手法を模索し続けている話
freee
PRO
0
570
生成AIで帳票OCRが「簡単に」作れる時代になった?
kon_shou
0
1.1k
170k Jobs a Day on GKE: Scaling Mercari's CI Platform - and What's Next for AI-Native Development
junyaokabe
0
110
AIが無かった頃の素敵な出会いの話
codmoninc
1
470
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
420
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.4k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
280
Marketing to machines
jonoalderson
1
5.7k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.4k
How GitHub (no longer) Works
holman
316
150k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
250
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Google's AI Overviews - The New Search
badams
0
1.1k
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 の設定を 変更して貰わないといけない
実は・・ 配付できたスクリプトを開いて 実行の承認して貰わないといけない
なかなか大変だ! ということで・・