2018年10月15日月曜日

IFTTTで現在地を毎時報告させたい:失敗編

ツーリング記を全く更新しないで何やってんの?
と言われそうだけどモチベ上がらないからね
仕方ないね

ということで今回はIFTTTを使って
ツーリング中の現在地を毎時報告させてみよう
という試み(と失敗)回


いま現在、ツーリング中は
以前使っていた携帯をナビ代わりにしており、
最近まではLocation Post
ドラココなう!のイマココ!
[urlは実際に起動していれば僕の現在地が見れます(2018/10時点)]
を自動でツイートする遊び方をしていました

ただ、最近はLocation Postの自動ツイートが機能していないらしく、
なんとかして任意のタイミングではなく
自動で定期的にツイートできたらいいのに…と思っていました

以前から
「IFTTTならサービス同士を連携してできることは無限大!」
という話を聞いていたものの、
なんとなく理解するまでのハードル高そう…と思い込んでいました

でも
・自動ツイートしたい
・nature Remo買ったことだし連携させたい
・Slack便利だから連携させてみたい
などが重なって、今こそIFTTTを理解すべきタイミングでは?
と思い、この週末は初歩的なアプレットを作って試して遊んでみたものの…

今回の記事で出来たことは
「毎時の定期ツイートでドラココなう!のurlを貼る」
だけです
IFTTTを知ってる人なら
Date & Timeで「毎時0分になったら」
Twitterで「urlをツイートする」
でもいいじゃん、って思うでしょう
その通りなんですが、なぜそこ止まりになってしまったのかを
残していきます

毎時ツイートをしたいので
this部分にDate & Timeを入れながら、
「毎時0,15,30,45分のいずれか1つしか選べないのか…
(15分おきのツイートをしたければ同じ形であと3つ用意するのかよ)」
と思いつつ、
thatからTwitterを開き、Add Ingredient(アクション要素)を呼ぶと…
{{CheckTime}}(thisで設定した時間を吐く)しかない!
{{LocationMapURL}}を指定できない!!

https://dorakoko.com/?trace=fazer8docodoco
はどこに居ても変わらないが、
その時々で変わるLocationMapURLを呼び出せない
これではurlを毎時0分につぶやく鳩時計だ

ということで
[毎時]と[位置情報ツイート]の間を[なにか]で繋げば良いので
それらしき単語で調べたら
MakerとWebhooksが出てきました
Makerは一度作成すると内容の変更ができない(作り直し?)そうなので
前者と比べるとちょっと複雑と言われるWebhooksを選び、
それらしきアプレットを作ろうとしました

形としては
アプレット1
this「毎時0分になったら」
that「current_gpsの名のトリガーを発動する」

アプレット2
this「current_gpsの名のトリガーが発動したら」
that「ツイートする」
の2つのアプレットを使うものです

アプレット1のthis部分は簡単なので割愛します
that部分、の前に
下準備としてまずWebhooksに飛んで【Documentation】に入ると、
「event名(今回はcurrent_gps)を入力したら
JSON形式で3つの値を出せるよ」というフォームが現れます
valueの1,2,3はアプレット2のthatで呼び出せます

そしてthat部分に戻って
【URL】
https://maker.ifttt.com/trigger/current_gps/with/key/...
【Method】
POSTを選択(送信したいから)
【Content Type】
JSONを選択(POSTリクエストしたいから)
他に
x-www-form-urlencoded(中括弧をデコードすればいける??)
plain(わからない…)
もあるが今はJSONを選ぶしかなさそうだ
【Body】
{"value1":"{{LocationMapURL}}","value2":"{{LocationMapImageURL}}","value3":"{{ShareURL}}"}
下準備で開いたページのボックスに同じものがあったと思います
それをBody欄に貼り付けたところ、エラーで保存できず。
{"value1":"LocationMapURL","value2":"LocationMapImageURL","value3":"ShareURL"}
として保存

これで良いのか悪いのかわからないけど、
とりあえずアプレット1は出来ました

次にアプレット2ですが
2のthis部分にWebhooks
【Event Name】
current_gps
that部分にTwitterを指定して
【Tweet text】内でAdd Ingredientからvalue1(マップurl)を呼び出して…
これでは単に「LocationMapURL」とつぶやくだけなので、
{{{{Value1}}}}としたら…
エラーで保存できず。

アプレット2のやり方では
LocationMapURLに対応してない…?

ここで今日は諦めることにしました
解決策がわかればそれを書こうと思いますが、
いまのところ解決できていません

自動ツイートできたとしても、
うっかり自宅の位置情報をつぶやく事故を起こしそうだし
当分は毎時ドラココなう!とつぶやく鳩時計で
留めておこうと思います

0 件のコメント:

コメントを投稿