Skip to content

Instantly share code, notes, and snippets.

@denvernine
Last activeMay 23, 2023 14:17
    twitterで使えるアクションをともなうwebリンクのつくりかた

    Web Intent URL のつくりかた

    twitterには Web Intent という特別なURLがあります。これを使うことで、特定のツイートにリプライさせる・DMのメッセージ入力欄に既定のメッセージを仕込んでおく・フォローを促す画面を表示する、などのことができます。

    なお、これはURLなので日本語など英語(より正確にはアルファベット)以外を含める場合はURLエンコードを行わなければなりません。

    みんなにフォローしてほしい!

    フォロワーを増やしたいという人は結構いるかもしれません。そんな時は twitter.com/intent/follow または twitter.com/intent/user を使います。クエリパラメータに screen_name または user_id を追加することで、フォローを促す画面を表示されることができます。しかしながら、 screen_name (ユーザー名のことです)を使うときは注意が必要です。というのも screen_name はユーザーが任意に変更できるため、リンクが更新されないまま放置された場合に意図しないユーザーを対象にしてしまう場合があるからです。

    たとえば、@aaaaというユーザーがいたとします。そのユーザーが、あるとき@ccccというユーザー名にしたとしましょう。そうすると、だれでも@aaaaに変更することができるようになるので、@bbbbが@aaaaになることができます。このとき、 twitter.com/intent/follow?screen_name=aaaa は元@bbbbの@aaaaを指すことになります。

    e.g.) Twitter Japanをフォローしましょう!
    e.g.) https://twitter.com/intent/user?user_id=173482651 (筆者のアカウントです)

    もっといいねがほしい!

    フォロワーよりもいいねが欲しいということもあるかもしれません。そんな時は twitter.com/intent/like を使います。クエリパラメータに tweet_id を追加してツイートを指定します。

    e.g.) https://twitter.com/intent/like?tweet_id=1392836362814980103

    そんなことはいいからリツイート!

    なんでもいいからとにかくバズりたいというのがツイッターユーザーの本音かもしれません。そんな時は twitter.com/intent/retweet を使います。クエリパラメータに tweet_id を追加してツイートを指定します。

    e.g.) https://twitter.com/intent/retweet?tweet_id=1392836362814980103

    みんなに自分の考えたハッシュタグをつかってほしい!

    なんらかの企画の参加者をtwitter上で募りたい場合もあるでしょう。そんな時は twitter.com/intent/tweet を使います。クエリパラメータに hashtags を追加してハッシュタグを指定します。

    e.g.) https://twitter.com/intent/tweet?hashtags=haiku

    じつはハッシュタグ以外にも……

    twitter.com/intent/tweet のクエリパラメータには hashtags 以外にも text, url, via, in_reply_to を指定することができます。これらを組み合わせることで、ニュースサイトなどによくあるツイートボタンと似たような動きをさせることができます。

    e.g.) https://twitter.com/intent/tweet?text=hello%20nkiril&url=https%3A%2F%2Ftwitter.com%2Fnkiril&hashtags=%E3%81%AF%E3%81%98%E3%82%81%E3%81%A6%E3%81%AE%E3%83%84%E3%82%A4%E3%83%BC%E3%83%88&via=nkiril&related=nkiril%3A.kiril&in_reply_to=1392836362814980103

    • text ... 本文。 in_reply_to 以外はこれだけでもできる
    • url ... 本文に含めるURL
    • via ... 経由したサイトなど。大抵はscreen_name
    • in_reply_to ... 指定したツイートに対するリプライにする

    これらを追加した場合は、クエリパラメータの順番に関係なく "text url hashtags via" の順番になります。

    DMください!

    ときにはこっそりやり取りしたいこともあるかもしれませんね。そんな時は twitter.com/messages/compose を使います。クエリパラメータに rerecipient_id を追加してDMの送信先を指定します。

    e.g.) https://twitter.com/messages/compose?recipient_id=173482651 (筆者のアカウントです)

    これは少し特殊なリンクで、twitterでこのURLを投稿すると "Send us a private message" と書かれたボタンに変換されます。このボタンに表示される文言は変更できないようです。

    ある程度内容を指定したいとき

    なにをきっかけにDMが送られたかわからないので、この情報だけは含めてほしい。ということもあるかもしれません。その場合はクエリパラメータに text を追加します。

    e.g.) https://twitter.com/messages/compose?recipient_id=173482651&text=yo

    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment