
前の記事の続きみたいな感じになるけど、前の記事ではMacのDockのアイコンをクリックして、GASを実行→スプレッドシート書き込みっていうことをやりました。
Macからアイコンクリックで勤怠の入力をスプレッドシートに書き込みできるっていうのも便利だけど、どうせならiPhoneからもワンタップでやってやろうってことで今回はやっていきたい。使うのはiPhoneのショートカットでホーム画面に配置したショートカットアイコンをタップすると、スプレッドシートに出勤時間・退勤時間の入力ができるというもの。
ではやっていこう。
iPhoneからGASを実行してスプレッドシートに書き込みさせるには?
iPhoneからGASを実行してスプレッドシートに書き込みってどうやんの?って感じだけど、こんな流れでやればきっとできる。
- iPhoneのショートカットからGASのURLを叩いてGASにリクエストを投げる
- リクエストされたGASはスプレッドシートに書き込みにく
前にAutomator→GAS→スプレッドシート書き込みっていう流れをやったけど、それがiPhoneのショートカットになったバージョンだ。
↑の記事でやっているのはこんなイメージ。
今回やるのは、こんなイメージだ。Automatorからシェルスクリプトを使ってGASにリクエストを投げていたけど、これがiPhoneのショートカットになる。
まあ、呼び出し元が変わっただけだからなんかいけそうな気がするよね。以前ショートカットでこんなことをやったけど、同じようなノリでいけそうな気がする。
GASからスプレッドシートに書き込むプログラムを書く
GASでやることは以下の3つ。
- リクエストを受け付ける
- 書き込みたいスプレッドシートの取得
- スプレッドシートに書き込み
これは以前の記事で書いたプログラムを使っていくから、どんなコードでやるのか確認したい人は以下の記事を確認してみてくれ。コードの綺麗さとかはおいておいて、どんなことやるのかなーぐらいで頼む。
iPhoneのショートカットからGASを実行する
前にやったここまでの流れができていれば、iPhoneのショートカットからGASを実行してスプレッドシートに書き込みにいくのもそこまで難しくはないだろう。
ショートカットで使うアクションは以下の2つ。
- URL・・・GASのURLを入力
- URLの内容を取得・・・URLにリクエストを投げる
ちなみに完成形はこんな感じや。
URLを入力する
ショートカットを起動したら、まずはURLのアクションを追加していくとこからやっていこう。ここで追加するURLはGASで取得することができるURL。
このURLをコピーしたらiPhoneショートカットのURLに貼り付ける。
そしたら、次は[URLの内容を取得]っていうアクションをやっていこう。
URLの内容を取得する
[URLの内容を取得する]っていうアクションを追加したら、設定するのは[方法]と[ヘッダ]っていうところ。- 方法・・・POST
- ヘッダ・・・「Authorization」と記入し、右側には「Bearer 自分のトークン」にする
このAUthorizationのtoken取得方法は以下の記事で書いたから、そっちを参考にしてみるといいかもしれん。
【GAS】ワンクリックでスプレッドシート書き込み【勤怠管理】- token取得
ここまでやったら右下の再生ボタンっぽいものを押して、実行してみよう。うまくいくと指定したスプレッドシートに書き込みがされるはずだ。
注意
取得したtokenは一定時間経過後に変わるから、ちゃんと動かすにはいろいろ考えないとダメそうだね・・・tokenが変更されたら実行できなくなってしまう・・・GAS詳しい人任せた・・・
ホーム画面に設定してワンタップで勤怠時間入力だ
うまく実行できたら、作ったショートカットをホーム画面に設置してクリックしてみよう。
まとめ
iPhoneのショートカットからでも一応GAS実行してスプレッドシートに書き込むっていうのは確認できた。認証にgasで取得したtokenを使っているけど、これは一定時間経つと変更されて実行できなくなっちゃうから、この辺りはちゃんと考えないとダメそうだね。。