12
9

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.

Integromatを使用してTwitterでふぁぼした画像付きツイートの画像を自動保存する

Posted at

IFTTTでは画像が2枚以上あるときに保存できなかったから新しい方法を考えてみた

最初はIFTTTでの実装を考えていたが、IFTTTで画像リンクを取得する場合、【FirstLinkUrl】という変数を使うことで色々試した結果複数画像が埋め込まれたツイートの画像は取得できないという悲しい現実にぶち当たった。

で、なんとかできないものかなーと試行錯誤していたところIntegromatを使用することで解決できそうな気がしたので備忘として記事を残しておく。

Integromatってなに?IFTTTとの違い

最強連携サービス「Integromat」がZapier/IFTTTをあっさり超えるラスボス感
に細かいことは書いてありますが、IFTTTよりもプログラマ向けに細かい設定ができるものですね。

ただ、日本語の文献が全くないし、YoutubeのTutolial見てもよくわからないことも多いのでIFTTTやZiperと比較すると学習コスト高めです。

実装イメージ図

今回の目的のゴールとして、お気に入りした画像をAmazon Driveに保存するまでをゴールとしてます。
しかし、残念ながらIntegromatはまだAmazon Driveをサポートしていないため、最後Amazon Driveに移動するところだけはIFTTTに頼ることにしました。

2018-02-11_08h34_52.jpg

Integromatを使用してGoogle Photoまでアップロードし、アップロードをトリガーにIFTTT側でAmazon Driveにアップロードする方式です。IFTTTの実装方式についてはこちらには記載しませんので、他のサイトをご参照下さい。

Integromat実装方法

最終的にはこんな感じになります。細かい個々の設定は下記参照。

2018-02-11_09h12_11.jpg

Twitter TRIGGER設定

  • TwitterのTRIGGERは「 Watch Favorite Tweets 」にする
  • Maximum number of downloaded tweetsはどのくらいがいいかわからないので一旦100にしてる
2018-02-11_08h39_03.jpg

Iterator設定

たぶんここが大事。複数画像の時に全部の画像URLを抽出するためにArray情報を抽出する。

  • TwitterのTRIGGERとIteratorをつなぎ関連性を作る
  • images[] 配下の「images[]: File name」と「images[]: Data」を4つ分登録する
  • Arrayの配列番号は、選択後にオンマウスで数字を変えれるので、それで4つ分の配列を登録する
2018-02-11_08h44_45.jpg 2018-02-11_08h44_54.jpg 2018-02-11_08h45_15.jpg 2018-02-11_08h45_22.jpg

Router設定

後続のGoogle Photosを4つ配置するため、ルーターを設置します。
設置するだけで特に設定なし

Google Photos設定

  • Array毎に(画像が複数枚ある場合それ毎に)Google Photosを登録するので4つ作成する
  • SourceFileをMapにする
  • File nameをimages[x]: File nameにする。(images[x]のxは1~4)
  • Dataをimages[x]: Dataにする。(images[x]のxは1~4)
2018-02-11_09h07_04.jpg

Filter設定

接続コネクタの部分でフィルタ設定ができるので、不要な処理要求が行かないように制御します。

  • Twitter⇒Iterator間で、画像付きツイートのみをIteratorに処理させるようFilter
  • Router⇒Google Photos間で、画像が1枚しかない場合にArray2~Array4に処理が行かないようFilter
    ※これをしておかないと、エラーが出て処理が中断してしまいます。

Filterはこんな感じにExists条件で、特定のレコードに値が入ってるものだけを処理みたいな感じで登録しました。
2018-02-11_09h12_00.jpg

最後に

試してたらあっという間にFreeの月間上限値である1000オペレーションに達しちゃったので、自動実行間隔とかその辺も要調査ですね。
似たようなことやってもっとスマートな実装してる方いたら教えてください。

参考文献

最強連携サービス「Integromat」がZapier/IFTTTをあっさり超えるラスボス感
IFTTTを利用してTwitterでいいね!(ふぁぼ)したものをGoogle フォトに保存するようにしたかった話 (追記有)

12
9
1

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
12
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?