tech.guitarrapc.cóm

C#, PowerShell, Swift, Cloud, Serverless Technical Update and Features

はてなブログの予約投稿でTwitter投稿をするとFacebookにも投稿されるようにIFTTTを設定する

予約投稿時のFacebookに同時にシェアする機能が廃止されるようです。

f:id:guitarrapc_tech:20180722190948p:plain

staff.hatenablog.com

やりたいことはようは、予約投稿に合わせて自動的にFacebookにも投げられればいいので、IFTTTを使って自動化してみましょう。

前提として、Twitterには投稿しているものとします。

目次

前提

IFTTTのtriggerとしてTwitter検索機能を使うため、以下の条件で発動させます。

  • Twitter投稿は行っている
  • Twitterは鍵垢ではない
  • IFTTTアカウントでFacebook連携しても構わない
  • Facebook投稿はTwitterよりも時間差が生じてもいい(最大15分)
  • #はてなブログ#fb タグを予約投稿時につける

もしも鍵垢の場合、IFTTTで連携しても構わないなら同様の操作が可能です。

通常の投稿時のシェアとの競合回避

#はてなブログタグだけだと、通常の投稿時のシェアタグにデフォルトで含まれて、Facebook投稿をやってしまったときに二重になります。

そこで、IFTTT発動条件のタグとして #fb というタグを追加しました。

公開時のフロー

  1. 記事を書く
  2. 編集オプション > 予約投稿を設定する
    1. Twitterに投稿だけ有効にする
    2. #はてなブログfb タグを有効にする
  3. 記事を予約投稿する

連動結果

Twitter投稿すると、FBにも投稿されます。

f:id:guitarrapc_tech:20180722205626p:plain

f:id:guitarrapc_tech:20180722205735p:plain

なお、#fb タグなしのトリガーに反応させた投稿だとこのようになります。

f:id:guitarrapc_tech:20180722185852p:plain f:id:guitarrapc_tech:20180722205930p:plain

IFTTTの設定

IFTTTでは以下の設定を行います。

  • Twitter Triggerを選択
  • New tweet from search を選択

f:id:guitarrapc_tech:20180722191746p:plain

  • 検索条件を入力

「Retweetを除外、指定したタグ、アカウント、URLを含む最新のTweet」だけ引っかかります。

#はてなブログ #fb -RT -@アカウント名 はてなブログのURL

f:id:guitarrapc_tech:20180722192006p:plain

  • Facebook投稿は、{{FirstLinkUrl}} のみ

これで完成です。

例えば私ならこうなります。

f:id:guitarrapc_tech:20180722192044p:plain

まとめ

予約ではなく、通常の投稿時のシェアはこれからも使えます。 そして私は一切予約投稿使ってないので、初めてその制約を知りました。

技術的に面白いので、ServerlessやLogicAppを試すのもいいですが、私はこういうのはIFTTT程度で済ませるのが実用的だと思っています。