Twitterで「ツイートされたらなんかする」を実装したい時

製作 プログラム

2018/12/12(水)

ラムネグから一言:無料アプリを3つ作りました。記事下部にリンクがあるので見てみてくださいね。さっそくみてみる

「ツイートされたら」というイベント

ホームページに設置したフォローボタンとかツイートボタンが押されて、実際にツイートとかフォローされたときになんかしたい!

ウェブサイトを作ってるとこんな風に思う事もあると思います。

ツイッターにはそのための仕組みがありました。検索してみるとやり方を書いてある記事がたくさん見つかると思います。

でも、今現在(2018/12/12)その機能は使えないようになってます。

こんなソースコードについて話してます

ここで書いてる方法はツイッター公式サイトとかではjavascript APIとして紹介されている方法です。

こんな感じのコードなんですが、いろんなサイトで紹介されているのと同じだと思います。


twttr.events.bind(
  'tweet',
  function (event) {
    // Do something there
  }
);

今はただのクリックイベントになっている

「ツイートされたら何かの処理を行いたい!」こんな風に〇〇されたら××、javascriptだとおなじみですよね。クリックされたら色を変える、とか画面をスクロールしたらメニューも動かすとか。

イベントを検知して処理を動かしてくわけなので、「ツイートされたら」というイベントがあるかどうかが大事になってくるわけです。

ツイッターも昔はAPIとして「ツイートされたら」っていうイベントをちゃんと作ってたようで、検索したときに出てくるやり方はこのときのやり方がもとになってます。

API自体は今もあるのですが、残念ながら今はイベントが発生するタイミングが変わってしまっています。

昔:

ツイートボタンクリック
実際にツイートする
ここでイベント発生

今:

ツイートボタンクリック
ここでイベント発生
実際にツイートする

ようはただのクリックイベントになってしまってます。

ツイッターの「ツイートしたら」は今はただの「クリックしたら」になっちゃってる

仕様変更があった

「ツイッター ツイート後 イベント」みたいなキーワードでいろいろ検索していると海外のフォーラムが見つかりました。

海外のフォーラムその1

海外のフォーラムその2

グーグルに翻訳してもらって読んでいくと、ツイッターのAPIは仕様変更されてしまったので「ツイートされたら」というイベントは使えなくなった、みたいな感じに書かれてます。

またツイッター公式のAPIの使い方ページにも、

Web Intentイベントは、アクションが完了した後ではなく、インタラクションが発生すると起動します。

て書かれてます。

Intentとかインタラクションとか元が英語なので横文字多すぎですが、たぶんクリックしてツイート画面が表示された段階でイベントが発生する、という事だと思います。

というわけで今現在「ツイートしたら何かする」というのは実装しづらいようになっています。

それでも「ツイートされたら」をキャッチしたい!

とはいうもののなかなか諦められるものじゃないハズ。「以前はできてたのに今はできません~。」はいそうですかとはなかなかスッキリできませんよね。

さっき紹介した海外フォーラムの回答欄にもあったのですが「twitterAPI」というものを使えば疑似的に実装はできそうです。

次の記事で紹介していきますね。

【どどん!】ラムネグではただいまアプリを絶賛提供中!さあ、選べる3つの無料アプリ!あなたはどれにする?

【わたガチャ】

あなただけのガチャを作ろう♪

すたーと!

【みんガチャ】

みんなで一つのガチャを作りあげよう♪

すたーと!

【litty-リティ】

秘密のメッセージをフォロワーさんに送っちゃおう!

すたーと!