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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
Claude Code全社展開のためにやったことn選~プラグイン302個・コミッター271人を支えるために~
kenchan
5
1.6k
運用ダッシュボードの設計を誰も教えてくれないのだけどみなさんどうしてるんですか? - チームに監視するという文化を根付かせるための第一歩を踏みたい -
satoshi256kbyte
1
130
改善しないと、タスクが回らない。 “てんこ盛りポジション” を引き継いだ情シスの、入社3ヶ月の業務改善録
krm963
0
270
in-process GraphQL のすすめ #ginzajs
izumin5210
4
1.4k
Cloudflare is Agents
chimame
0
170
AI時代に設計が 最大の生産性レバーになる 意図駆動開発とデータを消さない設計|Don't Delete Your Data or Your Intent — Design as the Deepest Lever in the AI Era
tomohisa
1
1k
今さら聞けない .NET CLI
htkym
0
200
Go言語とトイモデルで学ぶTransformerの気持ち / fukuokago23-transformer
monochromegane
0
180
【やさしく解説 設計編・中級 #6】良いアーキテクチャとは ~ 一本の登り道の、行き先 ~
panda728
PRO
0
220
<title><a id="</title>君はこのHTMLをパースできるか"></a></title> #雑LT_study
pizzacat83
0
150
Japan Community Day at Kubecon + CloudNativeCon Japan 2026: Learning Container Privilege Control by Building My Own Low-Level Container Runtime
ternbusty
1
160
バグを直したら useEffect が消えた
colorful12
3
630
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
64
56k
Optimizing for Happiness
mojombo
378
71k
Being A Developer After 40
akosma
91
590k
Agile that works and the tools we love
rasmusluckow
331
22k
How to make the Groovebox
asonas
2
2.3k
Thoughts on Productivity
jonyablonski
76
5.3k
How GitHub (no longer) Works
holman
316
150k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
390
New Earth Scene 8
popppiees
3
2.5k
The SEO Collaboration Effect
kristinabergwall1
1
520
How to Think Like a Performance Engineer
csswizardry
28
2.7k
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 の設定を 変更して貰わないといけない
実は・・ 配付できたスクリプトを開いて 実行の承認して貰わないといけない
なかなか大変だ! ということで・・