昨日、twitte.rb Version 0.2.4 をリリースした。
変更点は、以下のとおり。
- profile_image のサーバ変更に対応
昨日、twitte.rb Version 0.2.4 をリリースした。
変更点は、以下のとおり。
twitte.rb Version 0.2.2 をリリースした。
変更点は、以下のとおり。
twitte.rb Version 0.2.1 をリリースした。
変更点は、以下のとおり。
Twitter で tinyurl にクエリ文字列の一部が渡されないことがある。
twitter.com で以下のようなにクエリ文字列を含むURLをポストすると、
https://www.google.com/accounts/ServiceLogin?service=youtube &continue=http://www.youtube.com/signup&passive=true
http://local.google.co.jp/maps?f=l&hl=ja&view=map&ie=UTF8&om=1 &ll=35.683861,139.75258&spn=0.029246,0.029826&z=15
このように表示される。
http://tinyurl.com/yo32xk://www.youtube.com/signup&passive=true
http://tinyurl.com/27ee5x,139.75258&spn=0.029246,0.029826&z=15
そして、tinyurl を展開すると、
http://tinyurl.com/yo32xk
→https://www.google.com/accounts/ServiceLogin?service=youtube &continue=httphttp://tinyurl.com/27ee5x
→http://local.google.co.jp/maps?f=l&hl=ja&view=map&ie=UTF8 &om=1&ll=35.683861
となるので、残りの
://www.youtube.com/signup&passive=true
,139.75258&spn=0.029246,0.029826&z=15
とくっつけると、元に戻るんだけど…
たしかに、","や":"は URLエンコードしなければならないのだが、API経由でこれらをURLエンコードして
https%3A%2F%2Fwww.google.com%2Faccounts%2FServiceLogin %3Fservice%3Dyoutube%26continue%3Dhttp%3A%2F %2Fwww.youtube.com%2Fsignup%26passive%3Dtrue
http%3A%2F%2Flocal.google.co.jp%2Fmaps%3Ff%3Dl%26hl%3Dja %26view%3Dmap%26ie%3DUTF8%26om%3D1%26ll%3D35.683861 %2C139.75258%26spn%3D0.029246%2C0.029826%26z%3D15
と送っても結果は、同じ。
クエリ文字列を含めた全てを tinyurl に渡すには、クエリ文字列を一度URLエンコードしてから(ただし、"&" "=" "%" はエンコードしない)、全体をURLエンコードする必要があるようだ。
具体的には、
とすることで、
http://tinyurl.com/ytlcxb
→https://www.google.com/accounts/ServiceLogin?service=youtube &continue=http%3A%2F%2Fwww.youtube.com%2Fsignup&passive=truehttp://tinyurl.com/yshtdz
→http://local.google.co.jp/maps?f=l&hl=ja&view=map&ie=UTF8 &om=1&ll=35.683861%2C139.75258&spn=0.029246%2C0.029826 &z=15
無事、tinyurl のみとなった。
クエリ文字列中の ":" "/" "," が、"%3A" "%2F" "%2C" にエンコードされているが、上記サイトは正しく表示された。
Twitter 側では、全体をデコードして URLと思われる文字列を tinyurl に渡すのだから、しかたがないのかな?
さて、twitte.rb をアップデートしなくっちゃ。。。
先ほど、fshin2000さんのつぶやき でTwitterにポスト出来ない文があることがわかったので、調べてみた。
jazzanovaさんのつぶやき で「半角Tがポスト出来ない」とのことで、一生懸命"半角Tが混ざった文 *rb*”とポストすれど、一向にポストできない状態にならず何故?と不思議がっていたのだが、最後の" *rb*"がいけなかったみたい。
" *rb*"を除いて"半角Tが混ざった文"としてポストすると、ポストすれどもポストすれどもタイムラインに上がってこなかった。
それからまた、jazzanovaさんのつぶやき で「半角のdも駄目」とのことで、"半角"というマルチバイト文字+半角英字1文字+”何か”等マルチバイト文字の組合せでポストできない英字がありそうだということで調査することに。
調査した内容は、以下のとおり
これらで、以下の文字がタイムラインに上がってこなかった。
これらの文字と Twitter Support(1.1. Twitter Lingo: The Official Commands) とで照らし合わせてみると、
ということがわかった。
これらのコマンドは、IMから送信するものと思っていたのだが、どうもAPI経由で送っても有効になるようだ。
試しに、「L username」とポストしてみたところ、見事にLeaveした。
また、英文字の前後に入れるスペースだが、以下のように前にスペースが入っていればよいようだ。
「半角のTが1文字入った日本語文」の意味がわからずごめんなさいでした。> fshin2000さん
最近のコメント