TinyTimeLine

提供:JUDSTYLE Wiki
移動: 案内, 検索
(typos)
(Download)
 
1行: 1行:
{{PAGENAME}}は、twitterにて簡易的なタイムラインの表示と投稿を行う、Webサーバ上で動作する軽量アプリケーション。
+
{{PAGENAME}}は、twitterにて簡易的なタイムラインの表示と投稿を行う、Webサーバ上で動作する軽量アプリケーション。twitterへのアクセスにはOAuth/xAuthを使用し、各端末からほぼ同一のIFを提供する。
  
==動作環境==
+
==対応バージョン==
*Linux
+
このマニュアルは、頁末でダウンロード可能なVer.2.10に対応。
*PHP5
+
*cURL
+
  
==注意事項==
+
==動作環境==
このスクリプトはtwitterにアクセスすることができますが、現時点でユーザ認証は一切ありません(まだ作っていない)。このスクリプトに対するアクセス権の設定については各自行う必要があります。
+
;サーバ
===アクセス権の設定例===
+
:Linux/PHP5
スクリプトを設置するディレクトリを作成し、それに対するアクセス権の設定を行う必要があります。ここではBASIC認証によるアクセス制御を行うサンプル設定を示します。
+
;クライアント
*.htaccess
+
:cookieを扱えるブラウザ
AuthUserFile ./.htpasswd
+
AuthGroupFile /dev/null
+
AuthName "Please enter your username and password"
+
AuthType Basic
+
require valid-user
+
*.htpasswd
+
hoge:PfMnfPELn0M2E
+
以上2ファイルを、作成したディレクトリに設置してください。.htpasswdで設定されているのは、ユーザ名が「hoge」でパスワードが「fuga」なので、そのまま使用しないように注意。
+
  
 
==インストール==
 
==インストール==
#twitteroauthのダウンロード
+
===twitteroauthのダウンロード===
#:[http://github.com/ github]より、abraham氏が作成・公開しているtwitteroauthライブラリをダウンロードしてください。
+
[http://github.com/ github]より、abraham氏が作成・公開しているtwitteroauthライブラリをダウンロードしてください。
#:*http://github.com/abraham/twitteroauth
+
*http://github.com/abraham/twitteroauth
#スクリプト設置
+
===スクリプト設置===
#:作成したディレクトリにTinyTimeLineのスクリプト'''titili.php'''を設置してください。また、ダウンロードしたtwitteroauthライブラリも対象ディレクトリに設置してください。
+
作成したディレクトリにTinyTimeLineのスクリプト'''index.php'''と、設定ファイル'''ttlsettings.php'''を設置してください。また、ダウンロードしたtwitteroauthライブラリも対象ディレクトリに設置してください。なお、TinyTimeLineのスクリプトファイル名は変更可能です。
#:*titili.php
+
*index.php
#:*OAuth.php
+
*ttlsettings.php
#:*twitteroauth.php
+
*ttlinit.php
#ConsumerKey/Secretの取得
+
*ttlkeys.php
#:twitterにアクセスして、ConsumerKey/Secretの取得を行ってください。
+
*ttl.css
#:*https://twitter.com/apps
+
*OAuth.php
#AccessToken/TokenSecretの取得
+
*twitteroauth.php
#:twitter/developにアクセスして、AccessToken/TokenSecretの取得を行ってください。
+
===ConsumerKey/Secretの取得===
#:*https://dev.twitter.com/apps
+
twitterにアクセスして、ConsumerKey/Secretの取得を行ってください。
#TinyTimeLineの設置時設定を実施
+
*https://twitter.com/apps
#:TinyTimeLineの設置時設定を行います。titili.phpの編集を行い、以下の通り設定を行ってください。titili.phpの先頭のほうにあるPHP変数群が、変更可能な設定です。
+
===AccessToken/TokenSecretの取得===
##スクリプト名設定
+
twitter/developにアクセスして、AccessToken/TokenSecretの取得を行ってください。
##:titili.phpは、この1ファイルへのアクセスのみでTimeLineの取得や投稿などを行います。スクリプトファイル名をtitili.php以外に変更する場合、このPHP変数も変更する必要があります。
+
*https://dev.twitter.com/apps
##:*$me="titili.php";
+
===TinyTimeLineの設置時設定を実施===
##twitteroauth.php設置場所設定
+
TinyTimeLineの設置時設定を行います。'''ttlsettings.php'''の編集を行い、以下の通り設定を行ってください。
##:twitteroauth.phpの設置場所をtitili.phpと異なる場所に設置している場合、設置場所を示す必要があります。
+
 
##:*require_once("./twitteroauth.php");
+
====動作設定(1)====
##ConsumerKey/Secret と AccessToken/TokenSecret を設定
+
ttlkeys.php に対して、前節まででtwitterより取得したConsumerKeyとAccessToken類を設定してください。ここに記述してあるものはサンプルなので、でたらめです。そのままで使用することはできません(が、取得した文字列は多分こんな長さの文字列なはずです)。
##:twitterより取得したConsumerKeyとAccessToken類を設定してください。ここに記述してあるものはサンプルなので、当然これより長いキー・トークンが取得されているはずです。
+
$tockey = "Ejd83Ze9zWd7E28xg7E5gg";
##:*$tockey = "";
+
$tocsec = "2rnDYTq48wqd4RdCzjPEkJpPu3YGoPVhzebmlvD90ep";
##:*$tocsec = "";
+
cookieの設定も必要です。設置ディレクトリ、設置ドメイン、有効期限(秒)を設定してください。有効期限は、ブラウザ側での有効期限です。
##:*$toatok = "";
+
$md="/TTL/";
##:*$toasec = "";
+
$mi="exsample.jp";
#その他の設定
+
$EXP=24*60*60 * 8;
#:見た目等に関する設定項目が任意で変更できます。
+
認証用のパスワードファイル名を設定してください。既存の一般的な'''.htpasswd'''を流用することができます。
#:*$tll
+
$PF="./.ttlpasswd";
#:*:TimeLineを表示する際に、取得するTweetの数を変更可能です。200くらいまでは設定可能である模様ですが、そのまま動作速度やHTMLサイズに跳ね返ってくるので程々がお勧めです。
+
 
#:*$fsz
+
====動作設定(2)====
#:*:テキストボックスの大きさを示します。使用している携帯電話やPCブラウザなど、好みに応じて変更してください。
+
ttlsetting.php では、 twitteroauth.phpの設置場所をindex.phpと異なる場所に設置している場合、設置場所を示す必要があります。以下はその例です。
#:*$fmx
+
require_once("./OALIB/twitteroauth.php");
#:*:テキストボックスに対する入力可能文字数(bytesではありません)を設定することができます。InternetExplorerではあまり正確な動作はしないかもしれません。
+
このスクリプトを使うときのタイトルを設定します。
#:*$tmx
+
$CN="TinyTimeLine";
#:*:tweetできる最大文字数を設定することができます。140より大きくすることができますが、尻が切れたりエラーになったりとその結果は一定しないので、変更することはお勧めしません。
+
 
#:*$NOTL
+
====表示関連設定====
#:*:初期状態はFALSEですが、TRUEに変更するとTimeLineの表示を抑制することができます。その状態でも投稿はできます。
+
TimeLineを表示する際に、$tll/$tlu にて、一度に取得するTweetの数を変更可能です。200くらいまでは設定可能である模様ですが、そのまま動作速度やHTMLサイズに跳ね返ってくるので程々がお勧めです。
 +
$tll=40; // Home,Mentions用
 +
$tlu=20; // user用
 +
Homeで表示することができる世代数を $txg 設定できます。1であれば、過去世代を遡ることはできません。$tll×$txgの数はTwitterAPIにより制限されています。190くらいまではテストで確認しています。
 +
$txg=4;
 +
テキストボックスの大きさを示します。使用している携帯電話やPCブラウザなど、好みに応じて変更してください。
 +
$fsz="84";
 +
$fss="44"; // スマートフォン用
 +
 
 +
====認証設定====
 +
'''.ttlpasswd'''を設定する必要があります。記述ルールは以下の通りです。
 +
username:password:AccessToken:AccessTokenSecret
 +
passwordはdes暗号化されている必要があります。以下のサンプルを示しますが、ConsumerKeyと同様でたらめです。そのままで使用することはできません(が、取得した文字列は多分こんな長さの文字列なはずです)。
 +
zerowing:ZWMCOjVZ/V7ac:90185427-4Vj3Yq5n6GBGfENxndMMstVFVzJFRp0O1lRaEqA2L:pi7tWI1mDh8o6qzjwBg6yZ4UqxwwB474eLmxGcssoSN
 +
DES暗号化については以下の通りコマンドラインから入力することで取得することができます("ZW"の部分は任意の2文字以上の英数文字を入力してください)。
 +
% php -r 'echo crypt("AYBABTU","ZW")."\n";'
 +
ZWMCOjVZ/V7ac
 +
%
 +
複数設定することも可能です。その場合はAccessToken/TokenSecretを別々に取得する必要があります。
  
 
==使い方==
 
==使い方==
[[image:TTL091V.png|128px|thumb|right|TTL V0.91のスクリーンショット]]
+
===ログイン===
このスクリプトをブラウザから見ると、右側サムネイルのような画面が表示されます。
+
このスクリプトをブラウザから見ると、認証を求められます。前節で設定したusernameとpasswordを入力し、「Login」ボタンを押すとログインできます。
 +
;ログイン有効期限
 +
:ログインセッションはcookieで与えられ、ブラウザを終了させてもcookieはクリアされません。設定項目 '''$EXP'''にて変更可能ですが、初期状態では2日間に設定されています。サーバ側のセッション有効期限についてはPHPに関するサーバ設定で制御されています(一般的には未使用のセッションは24分ごとに1/100の確率で削除されます。
 +
次回以降のログインでは、クライアント・サーバのどちらも有効期限が切れていなければログインは不要で、すぐにタイムラインが表示されます。
 +
 
 +
===ログアウト===
 +
ログイン後のいずれかの画面で「Logout」をクリックすれば、ログアウト処理が行われます。次回以降、画面を開いたときにログインする必要があります。また、セッション期限切れの場合は'''EXPIRE'''と、ログイン失敗時には'''NG'''と、ログインしていない場合は'''NOTLOGIN'''と表示されます。
 +
 
 +
===タイムライン===
 +
[[image:TinyTimeLineSS21.png|128px|thumb|right|TTL V2.41 表示例]]
 +
ログイン後は、右側サムネイルのような画面が表示されます。タイムライン抑止設定をしていれば、入力フォームのみ表示されます。「Timeline」をクリックすると最新のタイムラインが、「1/2/3」をクリックすると1~3世代前のタイムラインが、「NextXX」をクリックすると現在表示しているものより1世代前のタイムラインが表示されます。
 +
 
 
===投稿===
 
===投稿===
テキストボックスに入力し、「Twit」ボタンをクリックすると投稿できます。投稿アプリケーション名には、ConsumerKey取得時に設定したアプリケーション名が表示されます。
+
テキストボックスに入力し、「Twit」ボタンをクリックすると投稿できます。twitterWebなどで表示される投稿アプリケーション名には、ConsumerKey取得時に設定したアプリケーション名が表示されます。
 +
 
 
===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との違いについても同様で、リツイート扱いにはなりません。
 +
 +
===HOME===
 +
[[image:TinyTimeLineSS22.png|128px|thumb|right|TTL V2.41 表示例(メニュー)]]
 +
タイムライン下端の'''HOME'''をクリックすると、通常のタイムラインに加えて、Mentions(@付きで自分のscreen-nameが記述されているツイート)と被RT、プロフィール、リスト一覧が表示されます。RT数での括弧付き数字は被RT回数、リストの括弧付き数字はリストがフォローしているユーザ数です。
 +
*Mentionsではフォローしていないユーザのツイートも含まれます。
 +
 +
===リスト===
 +
リストのタイムラインとリストがフォローしているユーザ一覧を表示します。
 +
 +
===ユーザ情報===
 +
タイムライン上の'''ユーザ名'''をクリックすると、ユーザ情報画面が表示されます。該当ユーザの最近のツイートと、そのユーザが表示するよう登録したステータス<small>(フォロー,被フォロー,URL,プロフィール,所在地,プロテクト)</small>そのユーザが公開しているリスト一覧が表示されます。プロテクト状態は、プロテクトが有効な場合のみ表示されます。
  
 
==ライセンス==
 
==ライセンス==
 
*このスクリプトの利用は自由です。使用、改変、配布、引用、いずれにも許諾不要です。配布は有償無償を問いません。
 
*このスクリプトの利用は自由です。使用、改変、配布、引用、いずれにも許諾不要です。配布は有償無償を問いません。
*このスクリプトの利用に関する問題はJUDが負うものではありません。
+
*このスクリプトの利用に関する問題の責はJUDが負うものではありません。
  
 
==問い合わせ==
 
==問い合わせ==
質問・苦情・要望は [http://twitter.com/Judstyle Judstyle - twitter] まで。
+
質問・苦情・要望は [http://twitter.com/Judstyle @Judstyle - twitter] まで。
  
 
==Download==
 
==Download==
*[http://judstyle.jp/jswiki/images/9/95/TTL093.zip Version.0.93]
+
*[http://judstyle.jp/jswiki/images/0/07/TTL2.88E.zip Version.2.88E]
 +
*:メニュー機能
 +
*:NGワード, NG-screen_name, NGクライアント機能
 +
*:RTしながらPostする機能
 +
*:Delete/Blocking機能
 +
*:表示系統の改善
 +
*:ホームをフレンドタイムラインではなく指定のリストで代替する機能
 +
*:他いろいろ 多すぎて忘れた…。
 +
 
 +
===Old===
 +
*Version.2.41
 +
*:1メッセージ表示時に被RT情報を表示する。
 +
*:細かい表示系の変更。
 +
*Version2.34
 +
*:パラメータなし時の動作をホーム・Mentions・被RTタイムライン連続表示に変更。
 +
*:LOGIN後やPOST後のタイムラインもホーム・Mentions・被RTタイムライン連続表示に変更。
 +
*:act=NL(タイムライン非表示)からのPost後にタイムライン非表示状態を持続するよう変更。
 +
*:UAからガラケーであると判定した場合に以下通り専用表示とする。
 +
*:*表示件数を減らしHOMEでのME/RT表示を行わない。
 +
*:*パラメータなし時にはタイムライン非表示とする仕様を追加。
 +
*:*ユーザ名および本文中のリンクを無効化。
 +
*:ホーム・Mentions・被RTタイムライン連続表示時に投稿者名が表示されないことがあるbugをfix
 +
*Version2.31
 +
*:RE/QT時にtwitterサイトの1件表示用URLを表示する機能を追加。
 +
*:RE/QT時にShortcutsのNewが変なところを指しているbugをfix
 +
*Version.2.30
 +
*:ユーザタイムライン・リストタイムライン表示の表示件数設定をホームタイムラインと統合し、それぞれ4頁まで遡れる仕様に変更。件数と遡れるページ数は変更可能。
 +
*:ショートカットを再編成し、『TL,1-3』はホーム・ユーザ・リスト各タイムライン時のみ表示し該当タイムラインの表示頁への誘導『New,1-3』に変更。HOME(通常TL,Mentions,被RT,プロファイル,リスト一覧)時の2頁目以降ではMentionsおよび被RTを表示しない。
 +
*Version.2.24
 +
*:Mentions, 被RTを表示する"@me"を発展解消して"HOME"に変更。通常Timeline, Mentions, 被RT, 自Profile, 自Listを一括表示する。"@me"の機能自体は残している<small>(従来どおりact=ME。HOMEはact=HOME)</small>。
 +
*:通常TimelineリンクのURLを変更<small>(URLに空のCGIパラメータ"act="を追加)</small>
 +
*:リスト一覧の表示様式を変更<small>(full_nameをやめて、@user/nameに変更。リスト対象者数を追加。公開リストがない場合のメッセージ追加)</small>。
 +
*:リストタイムライン表示時に、最後尾にリスト対象者一覧表示を追加。
 +
*:html書式に誤りがあるbugをfix。
 +
*:リスト表示可能件数が反映されていないbugをfix。
 +
*Version.2.23
 +
*:ユーザ情報表示に、参照可能なリストの一覧を表示する機能を追加。
 +
*:リストのタイムラインを表示する機能を追加。
 +
*Version.2.21
 +
*:httpsのURLも自動リンク対象にするよう変更。
 +
*:Mentions/RTの設定された表示期限を過ぎたTweetを表示しない機能を追加。
 +
*Version.2.20
 +
*:公式RT元screen_nameからユーザ情報画面への誘導を追加。
 +
*:最近24時間の自分のtweetを表示するTodayLine機能<small>(旧todayline.php)</small>を統合。
 +
*:Mentionsに続けて被RTのリストを表示する機能を追加。また表示可能数について個別に設定可能なように変更。
 +
*:最近24時間分の自分のツイートをまとめてメールで送信する機能を追加。
 +
*:最近24時間分の自分のツイートを表示またはメールで送信する場合に限り、twitterへのアクセス時エラーをリトライする機能を追加。
 +
*:本文中のURLリンクについて、固定の『Link』ではなくドメイン部を表示するように変更。
 +
*:本文中のURLリンクについて、(ツイートのメタ情報がある場合に限って)'''t.co'''を展開するように変更。
 +
*:本文中のURLリンクについて、リンク先がtwitterの1コメントだった場合、RE機能で1件表示する機能を追加。
 +
*:本文中に『@ 』(半角アットマーク→全半角空白)または文末にアットマークが存在するとタイムラインが表示できないbugをfix。
 +
*Version.2.10
 +
*:全面的なコードの見直しとリファイン。各種内部パラメータの変更。
 +
*:携帯電話ショートカットキー機能をオミット。
 +
*:投稿長さチェックを廃止しtwitterサーバサイドでのエラー判定に頼るよう仕様を変更<small>(URLが強制的に短縮されてしまうようになり、文字列長さの計算ができなくなるため)</small>。
 +
*:ユーザ情報ページ(最近のポストと一部ユーザ情報表示)を実装。
 +
*:タイムライン非表示モードを統合。
 +
*:URLのアンカータグ化基準を変更<small>(全半角空白・半角括弧閉じ・改行・Tab)</small>。
 +
*:投稿者ユーザ名表示・本文中の@付きscreen_nameからのユーザ情報ページへの誘導。
 +
*:公式RTの表示様式を変更。
 +
*:構成ファイルの変更及び一部のCSS対応。
 +
*:Re/QT投稿エラー時の画面表示BugをFix。
  
 
[[Category:TTL]]
 
[[Category:TTL]]
 +
[[Category:twitter]]

2013年3月18日 (月) 23:25時点における最新版

個人用ツール
名前空間
変種
操作
案内
ツールボックス