強火で進め

このブログではプログラム関連の記事を中心に書いてます。

Twitterに自動ログインするBookmarklet(ブックマークレット)

iPhonesafariTwitter使ってると最近、短期間でログオフされるみたいなので自動的にログイン情報を入力して実行するBookmarkletを作ってみました。
Bookmarkletでの自動ログインは使い勝手は向上しますがセキュリティ的な面からはあまり良くありません。セキュリティ面を理解の上、自己責任にてご使用頂ける方のみお使い下さい。

※モバイル版での動作を前提に作成しています。スタンダード版(PC版)では正しく動作しません。

使い方

1. 下記の「Bookmarkletはこちら」のリンク先をブックマークして下さい。
※使い方を読み終わってからブックマークした方が二度手間がなくて良いかも?
Bookmarkletはこちら

2. 保存したブックマーク(タイトルを変更していない場合「TwitterAutoLogin」となっているもの)のURLが以下の様になっていますので

http://tsuyobi.heteml.jp/bookmarklet/twitter/twitter_login.htm?javascript:vo…

先頭から「javascript:」前までを削除し、以下のURLに変更します。

javascript:(function(){document.forms…

3. Username、Passwordの部分をアカウントにログインするときに使用しているものに置き換えます。
4. Twitterのサイトに移動し、Bookmarkletを実行します。

※正しく動作しない場合はブックマークURLの先頭に http: が付いていたり、最後に / が付いていないか( ; で終わっているのが正しい)確認して下さい。自分がiPhoneでテストしたときにたまに自動的に付加される事がありました。

お願い

Usernameの入力欄のidが session[username_or_email] なのでここのオブジェクトを取得しようと

sess = document.forms[0].elements['session'];
obj = sess['username_or_email'];

など試してみたのですが上手く行かなかったために

document.forms[0].elements[1].value='Username';

などと泥臭い記述してます。この記述だと汎用性も無いのでもし、良い方法をご存知の方はコメント欄にて教えて下さい(><;)