Twitter周りの仕様について。

現時点での推測など。暫定まとめ。


■注意
・よく分かってないのに分かったつもりで書いてしまっている個所があるかもしれません。
Twitterのバグを見つけたり、裏技的な何かを見つけた記事ではありません。
・すでに知っている人にとってはまったく無益な記事です。
・この内容はreply、RTについてのみです。DMは考慮していません。
Twitter公式RT機能については存在しないものとします。


TwitterAPIを利用した投稿などでのreplyの仕様
●reply時の通信内容の説明
Echofonでreplyを行った際のPOSTデータ
status=%40falms%20hogehoge&source=TwitterFon&in_reply_to_status_id=1234567890

  • status

ツイート本文のこと
デコードすると、"@falms hogehoge"となる。

  • source

クライアント名

  • in_reply_to_status_id

reply時に送信される相手のツイートの固有ID
1234567890は架空の値である。
(過去の誰かの発言にこのIDが使われたことがあるとは思うが・・・)
このreplyは、
http://twitter.com/falms/statuses/1234567890 (実在しません!)
に対するreplyということになる。
●"in reply to ***"や"***宛"と表示される、つまりreply扱いされる条件

  1. status に相手のID(@id)を含む
  2. in_reply_to_status_id が指定されている
  3. ttp://twitter.com/(相手のID)/statuses/(in_reply_to_status_id) が存在する

これらの条件を全て満たす場合、ツイートはreply扱いされる。
どれか一つでも欠けた場合、投稿はreplyではなく、Mentionsとなる。
1つ目の条件が欠けた場合には、普通のツイートとなる。
注目すべき点は、1つ目の条件が、"status の先頭に〜"ではない点。
これらの条件に当てはまりすればよいため、通信経路中で in_reply_to_status_id を、存在する別発言のIDに書き換えたところ、別発言に対するreply扱いさせることもできた。
ついでに言うと、"***宛"という表現よりも、"***への返信"としたほうが元の英語の意味に合うと思う。


TwitterのWebインターフェースの仕様
●ツイートの書き方によるreply、通常のツイートの区別

  • 「@id メッセージ」

返信ボタンを押すと、ツイート入力エリアに相手のID(@id)が自動で入力される。
その後ろにメッセージをつけて送信することで、replyとなる。
@idと、@idおよび自分の共通するフォロワーのTLに表示される。@idのMentionsにも表示される。

  • 「.@id メッセージ」 (先頭にドットがついています!)

Webインターフェースでは返信ボタンを押したのち、入力された@idの前に文字をつけることで、reply扱いされなくなる。よって「どのクライアントを使用していても、@idが先頭になければ、reply扱いされなくなる」という誤解が生まれる。
入力エリア上の「いまなにしてる?/What are you doing?」の文字が変化するのを見るとよくわかる。JavaScriptで、@idがツイートの先頭にあるかどうかをリアルタイムにチェックしている。
自分のフォロワー全員のTLに表示される。@idのMentionsにも表示される。
TwitterのRT

  • そもそもTwitterにRT機能はなく、RTは勝手に広まった書き方の一つ。
  • replyをreplyにしない(自分のフォロワー全員に見せる)ための方法。
  • @idの前にドットをつけるのと、RTをつけるのは同じ効果。(なんらかの文字をつけた というだけ。)


■Echofonの仕様
Echofonとは、FirefoxTwitterクライアントアドオンのこと。
ここではiPhone用クライアントのことではない。
●Echofonでのreply

  • Echofonでは返信ボタンを押すことにより、ツイート入力エリアに相手のID(@id)が自動で入力される。それと同時に、入力エリアのすぐ上にreply先のテキストが表示される。
  • 返信ボタンを使って入力されたIDが消されるまで、reply先のテキストは表示されたままとなる。
  • reply先のテキストが表示されている限り、投稿時に in_reply_to_status_id が送信される。

●Echofonでreply、RTを使用する際の注意点
返信ボタンを押したのち、そのままツイートの右クリック→再投稿を選択すると、reply先テキストが表示されたままとなる。
その状態で投稿すると、「RT: @id: 〜〜〜」というツイートが@idへのreplyとして投稿されてしまう。RT本来の目的である、自分のフォロワー全員に見せる ということにはならない。


■言いたいこと
とにかくこれだけは言いたい!ってことを簡単に言うと、
RTしたときは、〜宛とか表示されてないか再確認を!
〜宛が表示されていると、それはreplyになってます!


■今回のテストに使用したソフト
Tween
Firefox, Tamper Data, Echofon
Burp Suite(Burp Proxy)


最後に、見にくい記事でごめんなさい。
初めてのはてダでいろいろと戸惑っています。