PC(プログラミング)■やりたいことPinterestでPINした画像をローカルで閲覧したい。おおむね、お絵描きの参考用途。・ブラウザ窓だと参考画像として扱いづらい・貧弱な通信環境でも閲覧できる・いちいちブラウザ開くのが面倒やっぱりローカルでアクセスできた方が便利だよね。Pinterestからデータを引っ張ってくることもできるが、定期実行なり待受の仕組みを立てる必要がある。可用性を高く、一方でできるだけ手間や予算がかからない方法を検討したい。自前サーバがあるのでこれを使ってももちろん良いのだが、可用性であればやはりクラウドに軍配が上がる。(半ば興味本位で)極力クラウドサービスだけで構成することを目指す。ストレージサービスは一般にローカル同期の仕組みを持っているため、Pinterestからストレージサービスに連携できれば要求が満たせそう。Pinterestとローカルサービスを繋ぐ方法として、IFTTTなどの連携機能構築サービスが有る。おおむね、パーソナル用途で機能と使いやすさを両立しているのは2018/10現在下記3つくらい。Flow・Integromatこれら全てに、Pinterestインプット・Googleドライブアウトプットアダプタがあった。これらを繋げばいいだけに思える。いざ使ってみると画像ではなくhtmlファイルが連携される。どれもPinterestが公式で提供したアダプタらしく、画像そのものを外部サービスに渡さない意図的な作りと思われる。Flow高機能な方が一見良さそうだが、この手のクリックアンドポイントロジック構築は高機能にするほど最終的にフローチャート作成サービスになってしまい見通しやメンテナンス性が怪しくなるという特性がある。複雑なものを作ろうとするほど、どこかの境界でコードを自分で書いたほうが俯瞰性が良くなる。IFTTTはINPUT(THIS)とOUTPUT(THAT)の接続だけしか選べないが、これくらいがちょうど良いように思う。見通しが悪くならない範囲で足すなら、出力を多数化(3つまでとか)、フィルタを一段、データ加工を簡単なもので1段くらいだろうか(その場合IFTTT以外のサービスないしMakerを選ぶことになる)。いずれのサービスもコール回数に制限がある。今回用途では1日10枚以内が目処。上記に挙げた3つのフリープランでいずれも問題なさそうだった。将来増えるか減るかなどの見通しは不明。結局以下のように構成した。GASで下記スクリプトを作成。作成時に各種認証を要求されるので設定してやる。}IFTTTから呼び出せるようにWebアプリケーションとして公開してやる。IFTTTで、Pinterestのオフィシャルアダプタを使いWebHookでGASに連携する。"{{Board}}"}以上で完成。■まとめと使い勝手についてクラウド、フリープラン、更には認証情報をOAuthの世界で完結させたPinterest画像のローカル保存サービスが構築できた。目標は達成でき、そこそこ便利に使っている。PinterestからIFTTTへの発火に少しラグが有り、Googleドライブへの連携にもラグがあるためあまり即時連携という感じにはならない。特性を理解して使用しつつ、どうしても即時で必要な場合はChromeの拡張などを利用してダウンロードすることにする。■IFTTTについて便利。機能を絞っているところが良い。絞ってる分できないことがでてくる。直感的に苦手なことはわかるので、あとは自分が使う上でどういったところでIFTTTで完結できないのか何を組み合わせればよいのかを今後確認していく。Script(GAS)についてロジックを作る必要があり、アウトプットがGoogle関係であればこれ一択。Javascriptで大体何でもできるし、ドキュメントの必要十分さ、特に開発環境の素晴らしさはワンダフル。現状無料で使えてるが、将来的に有料化or閉鎖しないかはちょっと心配。作るときはフェッチの制限を忘れていたがやっぱりあるよね。100MBが制限になりそう。この仕組に限定すれば数百枚くらいは耐えるだろう。Lambdaだろうか。こいつらは本番運用には良いが、作って動かすまでのハードルが低くない。いったミニサービスや、使い捨てのテストAPIなどを作りたい場合GASのほうが向くように思う。■今後の課題サービスの選択・組み合わせを継続的に知識アプデするのと、GASがかなりawesomeだったのでできることを覚えたい。Linux)の管理他での備忘録です。