TinyTimeLine
(→Download: V.1.02) |
(V2.10) |
||
1行: | 1行: | ||
− | {{PAGENAME}}は、twitterにて簡易的なタイムラインの表示と投稿を行う、Webサーバ上で動作する軽量アプリケーション。twitterへのアクセスにはOAuth/ | + | {{PAGENAME}}は、twitterにて簡易的なタイムラインの表示と投稿を行う、Webサーバ上で動作する軽量アプリケーション。twitterへのアクセスにはOAuth/xAuthを使用し、各端末からほぼ同一のIFを提供する。 |
==対応バージョン== | ==対応バージョン== | ||
− | このマニュアルは、頁末でダウンロード可能なVer. | + | このマニュアルは、頁末でダウンロード可能なVer.2.10に対応。 |
==動作環境== | ==動作環境== | ||
15行: | 15行: | ||
*http://github.com/abraham/twitteroauth | *http://github.com/abraham/twitteroauth | ||
===スクリプト設置=== | ===スクリプト設置=== | ||
− | 作成したディレクトリにTinyTimeLineのスクリプト''' | + | 作成したディレクトリにTinyTimeLineのスクリプト'''index.php'''と、設定ファイル'''ttlsettings.php'''を設置してください。また、ダウンロードしたtwitteroauthライブラリも対象ディレクトリに設置してください。なお、TinyTimeLineのスクリプトファイル名は変更可能です。 |
− | * | + | *index.php |
*ttlsettings.php | *ttlsettings.php | ||
+ | *ttlinit.php | ||
+ | *ttlkeys.php | ||
+ | *ttl.css | ||
*OAuth.php | *OAuth.php | ||
*twitteroauth.php | *twitteroauth.php | ||
29行: | 32行: | ||
TinyTimeLineの設置時設定を行います。'''ttlsettings.php'''の編集を行い、以下の通り設定を行ってください。 | TinyTimeLineの設置時設定を行います。'''ttlsettings.php'''の編集を行い、以下の通り設定を行ってください。 | ||
− | ====動作設定==== | + | ====動作設定(1)==== |
− | + | ttlkeys.php に対して、前節まででtwitterより取得したConsumerKeyとAccessToken類を設定してください。ここに記述してあるものはサンプルなので、でたらめです。そのままで使用することはできません(が、取得した文字列は多分こんな長さの文字列なはずです)。 | |
− | + | ||
− | + | ||
$tockey = "Ejd83Ze9zWd7E28xg7E5gg"; | $tockey = "Ejd83Ze9zWd7E28xg7E5gg"; | ||
$tocsec = "2rnDYTq48wqd4RdCzjPEkJpPu3YGoPVhzebmlvD90ep"; | $tocsec = "2rnDYTq48wqd4RdCzjPEkJpPu3YGoPVhzebmlvD90ep"; | ||
cookieの設定も必要です。設置ディレクトリ、設置ドメイン、有効期限(秒)を設定してください。有効期限は、ブラウザ側での有効期限です。 | cookieの設定も必要です。設置ディレクトリ、設置ドメイン、有効期限(秒)を設定してください。有効期限は、ブラウザ側での有効期限です。 | ||
$md="/TTL/"; | $md="/TTL/"; | ||
− | $mi=" | + | $mi="exsample.jp"; |
$EXP=24*60*60 * 8; | $EXP=24*60*60 * 8; | ||
認証用のパスワードファイル名を設定してください。既存の一般的な'''.htpasswd'''を流用することができます。 | 認証用のパスワードファイル名を設定してください。既存の一般的な'''.htpasswd'''を流用することができます。 | ||
− | $PF="./. | + | $PF="./.ttlpasswd"; |
+ | |||
+ | ====動作設定(2)==== | ||
+ | ttlsetting.php では、 twitteroauth.phpの設置場所をindex.phpと異なる場所に設置している場合、設置場所を示す必要があります。以下はその例です。 | ||
+ | require_once("./OALIB/twitteroauth.php"); | ||
このスクリプトを使うときのタイトルを設定します。 | このスクリプトを使うときのタイトルを設定します。 | ||
$CN="TinyTimeLine"; | $CN="TinyTimeLine"; | ||
====表示関連設定==== | ====表示関連設定==== | ||
− | TimeLineを表示する際に、$ | + | TimeLineを表示する際に、$tll/$tlu にて、一度に取得するTweetの数を変更可能です。200くらいまでは設定可能である模様ですが、そのまま動作速度やHTMLサイズに跳ね返ってくるので程々がお勧めです。 |
− | $tll=40; | + | $tll=40; // Home,Mentions用 |
− | $ | + | $tlu=20; // user用 |
+ | Homeで表示することができる世代数を $txg 設定できます。1であれば、過去世代を遡ることはできません。$tll×$txgの数はTwitterAPIにより制限されています。190くらいまではテストで確認しています。 | ||
$txg=4; | $txg=4; | ||
テキストボックスの大きさを示します。使用している携帯電話やPCブラウザなど、好みに応じて変更してください。 | テキストボックスの大きさを示します。使用している携帯電話やPCブラウザなど、好みに応じて変更してください。 | ||
− | $fsz=" | + | $fsz="84"; |
− | + | $fss="44"; // スマートフォン用 | |
− | $ | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
====認証設定==== | ====認証設定==== | ||
− | '''. | + | '''.ttlpasswd'''を設定する必要があります。記述ルールは以下の通りです。 |
username:password:AccessToken:AccessTokenSecret | username:password:AccessToken:AccessTokenSecret | ||
passwordはdes暗号化されている必要があります。以下のサンプルを示しますが、ConsumerKeyと同様でたらめです。そのままで使用することはできません(が、取得した文字列は多分こんな長さの文字列なはずです)。 | passwordはdes暗号化されている必要があります。以下のサンプルを示しますが、ConsumerKeyと同様でたらめです。そのままで使用することはできません(が、取得した文字列は多分こんな長さの文字列なはずです)。 | ||
73行: | 74行: | ||
このスクリプトをブラウザから見ると、認証を求められます。前節で設定したusernameとpasswordを入力し、「Login」ボタンを押すとログインできます。 | このスクリプトをブラウザから見ると、認証を求められます。前節で設定したusernameとpasswordを入力し、「Login」ボタンを押すとログインできます。 | ||
;ログイン有効期限 | ;ログイン有効期限 | ||
− | :ログインセッションはcookieで与えられ、ブラウザを終了させてもcookieはクリアされません。設定項目 '''$EXP''' | + | :ログインセッションはcookieで与えられ、ブラウザを終了させてもcookieはクリアされません。設定項目 '''$EXP'''にて変更可能ですが、初期状態では2日間に設定されています。サーバ側のセッション有効期限についてはPHPに関するサーバ設定で制御されています(一般的には未使用のセッションは24分ごとに1/100の確率で削除されます。 |
次回以降のログインでは、クライアント・サーバのどちらも有効期限が切れていなければログインは不要で、すぐにタイムラインが表示されます。 | 次回以降のログインでは、クライアント・サーバのどちらも有効期限が切れていなければログインは不要で、すぐにタイムラインが表示されます。 | ||
88行: | 89行: | ||
===Reply=== | ===Reply=== | ||
タイムライン上の'''Re'''をクリックすると、Re画面が表示されます。Re対象となった1件のみ表示され、テキストボックスにはメッセージとリプライ先ユーザ名が予め入力されています。ここでテキストボックスに入力し(あるいはそのまま)「Re」ボタンをクリックすると投稿されます。通常の投稿との違いは以下の通り。 | タイムライン上の'''Re'''をクリックすると、Re画面が表示されます。Re対象となった1件のみ表示され、テキストボックスにはメッセージとリプライ先ユーザ名が予め入力されています。ここでテキストボックスに入力し(あるいはそのまま)「Re」ボタンをクリックすると投稿されます。通常の投稿との違いは以下の通り。 | ||
− | * | + | *入力用のテキストボックスに、予めユーザ名が入力されています。 |
*リプライ元のメッセージIDが付与されているので、公式のReと同等になります。 | *リプライ元のメッセージIDが付与されているので、公式のReと同等になります。 | ||
===QT=== | ===QT=== | ||
タイムライン上の'''QT'''をクリックすると、QT画面が表示されます。QT対象となった1件のみ表示され、テキストボックスにはメッセージとリプライ先ユーザ名が予め入力されています。ここでテキストボックスに入力し(あるいはそのまま)「QT」ボタンをクリックすると投稿されます。Reとの違いは以下の通り。 | タイムライン上の'''QT'''をクリックすると、QT画面が表示されます。QT対象となった1件のみ表示され、テキストボックスにはメッセージとリプライ先ユーザ名が予め入力されています。ここでテキストボックスに入力し(あるいはそのまま)「QT」ボタンをクリックすると投稿されます。Reとの違いは以下の通り。 | ||
+ | *入力用のテキストボックスに、予め引用文が入力されています。 | ||
*Reと異なり、メッセージIDの紐付けが行われないので、返信扱いにはなりません。ゆえに、全てのフォロワーのタイムラインに表示されます。 | *Reと異なり、メッセージIDの紐付けが行われないので、返信扱いにはなりません。ゆえに、全てのフォロワーのタイムラインに表示されます。 | ||
*公式RTとの違いについても同様で、リツイート扱いにはなりません。 | *公式RTとの違いについても同様で、リツイート扱いにはなりません。 | ||
+ | |||
+ | ===ユーザ情報=== | ||
+ | タイムライン上の'''ユーザ名'''をクリックすると、ユーザ情報画面が表示されます。該当ユーザの最近のツイートと、そのユーザが表示するよう登録したステータス<small>(フォロー,被フォロー,URL,プロフィール,所在地,プロテクト)</small>が表示されます。プロテクト状態は、プロテクトが有効な場合のみ表示されます。 | ||
==ライセンス== | ==ライセンス== | ||
101行: | 106行: | ||
==問い合わせ== | ==問い合わせ== | ||
− | 質問・苦情・要望は [http://twitter.com/Judstyle Judstyle - twitter] まで。 | + | 質問・苦情・要望は [http://twitter.com/Judstyle @Judstyle - twitter] まで。 |
==Download== | ==Download== | ||
− | *[http://judstyle.jp/jswiki/images/ | + | *[http://judstyle.jp/jswiki/images/9/96/TTL210.zip Version.2.10] |
− | *: | + | *:全面的なコードの見直しとリファイン。各種内部パラメータの変更。 |
− | *: | + | *:携帯電話ショートカットキー機能をオミット。 |
− | *: | + | *:投稿長さチェックを廃止しtwitterサーバサイドでのエラー判定に頼るよう仕様を変更<small>(URLが強制的に短縮されてしまうようになり、文字列長さの計算ができなくなるため)</small>。 |
+ | *:ユーザ情報ページ(最近のポストと一部ユーザ情報表示)を実装。 | ||
+ | *:タイムライン非表示モードを統合。 | ||
+ | *:URLのアンカータグ化基準を変更<small>(全半角空白・半角括弧閉じ・改行・Tab)</small>。 | ||
+ | *:投稿者ユーザ名表示・本文中の@付きscreen_nameからのユーザ情報ページへの誘導。 | ||
+ | *:公式RTの表示様式を変更。 | ||
+ | *:構成ファイルの変更及び一部のCSS対応。 | ||
+ | *:Re/QT投稿エラー時の画面表示BugをFix。 | ||
+ | |||
===Old=== | ===Old=== | ||
+ | *[http://judstyle.jp/jswiki/images/3/32/TTL102.zip Version.1.02] | ||
*[http://judstyle.jp/jswiki/images/6/6a/TTL101.zip Version.1.01] | *[http://judstyle.jp/jswiki/images/6/6a/TTL101.zip Version.1.01] | ||
*[http://judstyle.jp/jswiki/images/c/c7/TTL100.zip Version.1.00] | *[http://judstyle.jp/jswiki/images/c/c7/TTL100.zip Version.1.00] |