Twitterの個別発言のページでプロテクトかどうか調べるGreasemonkey/Bookmarklet

着想

きっかけは @extrameganeさんのこちらの発言から

ひょっとして個々の発言のページでプロテクト有無が判別できないようになったのかリニューアル後

http://twitter.com/extramegane/statuses/932755995

@matakimika ブックマークするかどうかとか判断するのに重宝してた表示なんですが……

http://twitter.com/extramegane/statuses/932772901

どういうことかと言いますと……Twitter を利用していないと分かり難いかと思うのですが……簡単に説明すると

プロテクトの説明

通常、Twitter に投稿した発言は誰でも見ることが出来ます。例えば上の通り、
http://twitter.com/extramegane/statuses/932755995
……なのですが、それ以外にも自分と Follow(フォロー)の関係にあるユーザーにのみ公開、という設定ができます。それが Protected(プロテクト)という状態。いわゆる SNS などにある「友達のみに公開」みたいな設定ですね。この場合、見られる人が限定されていますから、非公開の情報となります。
公開の状態であれば、@extrameganeさんのようにブックマークしたり、またはブログなどで引用して紹介したり、といったことができるわけですが、プロテクトの場合はマナーとしてそれをしないように心がけた方がいいですよね。


で、誰がプロテクトかどうか?というのは錠前のアイコンが表示されていたので、分かりやすかったのですが、先日のリニューアルで個別発言のページにあったアイコンが無くなってしまいました。
いや、ユーザーのページだとか、タイムラインには以前と同じようにアイコンが表示されてはいるので確認することはできますが、個別発言のページでは分からないのでそれらのページに戻って確認しないといけないから、ひと手間かかってメンドイなー、というのが大きな不満。
なのでそれを解消する Greasemonkey / Bookmarklet を作ってみたというわけです。

Bookmarklet



Bookmarkletを貼りつける Google Gadget は id:asannouさん のものを利用させていただきました。
この Google Gadget で表示させた Bookmarklet を登録する方法についてはこちらでまとめたので、参考にして下さい



[どうぞご利用ください。]

使い方

Greasemonkey / Bookmarklet とも動作としては似たようなものになります。
ただ Greasemonkey は個別発言のページでは自動で動きますが、Bookmarklet は自分でクリックする必要があります。で、そうした場合、それらのスクリプトが動いているのを示す、

ローディングボタンが表示され、APIで発言の公開範囲を調べ



プロテクトの場合は、錠前のアイコンに変わります。



パブリックの場合は、ローディングボタンが消えます。


……という感じですね。

何らかの不具合があった場合

Twitterというサービスの大きな特徴として「不具合が多い」ということが挙げられます。この「プロテクトか否か」の判別も TwitterAPI を利用しているのですが、なんらかの原因で API が取得できないケースもあるかもしれません。
その場合ローディングボタンがずっと回りっぱなしになるはずです*1、その際はお手数ですがユーザーのページなどでプロテクトかどうか確かめて下さい。
あと、Twitterの不具合じゃなくて、普通に不具合がありましたらご報告お願い致します。


Bookmarklet版はともかく、Greasemonkeyではちゃんとエラーメッセージを出した方がいいかな)

でもまぁユーザー側がGreasemonkeyで対処とかじゃなくて

以前のように、Twitterがアイコンで分かりやすく表示してほしいんですけれどもね。これだと、プロテクトなのにうっかりブログで引用してしまって、問題になったりするケースも起きるのではないでしょうか。




あとはおまけでTwitterの驚きの仕様というか。

(少なくとも)4種類あるTwitterPermalink

調べてみると、少なくともTwitterの個別発言のページはこの4種類あるようです。主に使われるのは最初のものだけとは言え、なんだかなー、この謎の仕様。

><

*1:たぶん、まだ詳しく検証してないので……