1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

taskerでHTTPリクエストを出してGASのメソッドをコールするまでの道のり。

Posted at

はじめに

使用したアプリ
tasker:https://play.google.com/store/apps/details?id=net.dinglisch.android.taskerm


taskerを使いたい!

taskerってなんぞや?

Androidのセンサ類をリスナ代わりに使えるアプリ。
いろいろ自動化できる。

今回やろうとしたこと

tasker → GAS → 諸々の処理
今回は諸々の処理はあとから考えるのでログ出力にしておいて、それ以外の部分について準備していく。

しかしいきなり蹴躓く。

taskerからhttpリクエストを送信→tasker上では成功しているが、GASのdoPostメソッドに到達していない。
ステータスコードは200(成功)。
なんでー?

ログインできない!

htmlでレスポンスを出力させ、見てみるとログイン画面に飛ばされていることがわかった。
なるほど、chromeで実行したときはログインされてたから問題なかったのか。
じゃあhttpを駆使して手動でログインしないといけない…?(面倒くさそう…)

AOuth2.0で呼び出してみる?

ココらへんを参考に。
https://qiita.com/yamazako/items/84dab378c9899b40c780

これ、そんな厳密にログインする必要あるのか?→ない。

ログインしなくても利用可能にする

アプリケーションにアクセスできるユーザーの選択肢は全員(匿名ユーザーを含む)を選択します。
これを選ぶことでGoogleアカウントにログインしていないユーザーでもAPIを叩くことができます。
https://qiita.com/rf_p/items/2eeb5e5e863fb3f42860

これなら簡単。
他の人にpostされた場合を考えたいなら、passwordを一緒にhttpに乗せればいいと思う。(パケット上ではバレバレかもしれないけど。)

それでも動かない!

htmlは実行した胸が表示されたが、loggerで吐き出したはずのログが表示されない。
どうして…。

doPost,doGetメソッド内ではloggerは使えない。

らしい。
https://qiita.com/takanakahiko/items/c8990145605eb4e1452d
結局スプレッドシートにログ代わりになにか出力することに。

やっと実行までたどり着く

ようやく実行完了。
コードを書く以外の部分でだいぶ時間を取られた。
でもこれでスマホについているセンサー類をリスナにしてなにかの処理をキックできるようになった。(少なくともサーバー上では。)
なおかつ、開発がスクリプトエディタ上で完結するので出先だろうがなんだろうがコードを触れる。
スバラシー。

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?