※タイトル変更しました。「脚注記法」ですね。
はてなブログや、はてなダイアリーには、脚注機能みたいなのがあります。
(さらに…)
※タイトル変更しました。「脚注記法」ですね。
はてなブログや、はてなダイアリーには、脚注機能みたいなのがあります。
(さらに…)
5行程度のPHPスクリプトでTwitter自動フォロー返し(のようなもの)を実現する方法です。
単に「実現方法」の紹介で、ソレを推奨する気はありませんし、そもそも、ここで紹介するスクリプトはエラー処理とか一切していないので、「たぶん動作はするけれど、実際には使えないもの」です。(色々な意味で。)
ちなみにフォローまたはフォロワーが5000を超えてるアカウントでは正常に動作しないと思います。ネタ記事にそこまでこだわる必要無いと思いますし。
一度の実行で最大15件のフォロー返しが可能なはずです。
cron等で、20分に1回実行~とかで「自動フォロー返し」のような事が実現出来るかもしれません。
エラー処理してないので、そのまま使う事はおすすめしませんし、そもそも自動フォロー返しというもの自体おすすめしませんが。
ライブラリ twitteroauthを利用する必要があります。
ソースは以下。
<?php require 'twitteroauthのパス'; $tw = new TwitterOAuth('こんしゅーまきー','こんしゅーまきーしーくれっと' , 'あくせすとーくん', 'あくせすとーくんしーくれっと'); $targets = array_chunk(array_diff($tw->get('followers/ids', array('stringify_ids'=>'true','count'=>5000))->ids,$tw->get('friends/ids', array('stringify_ids'=>'true','count'=>5000))->ids), 15)[0]; foreach($targets as $id){$tw->post('friendships/create', array('user_id' => $id));}
twitteroauthのパス、こんしゅーまきー、こんしゅーましーくれっと、あくせすとーくん、あくせすとーくんしーくれっと はそれぞれ適宜置き換える必要があります。
Twitterではツイートの投稿時間の表示方法として、「○分前に投稿」といったツイートが投稿された時間からの経過時間表記を標準としています。
んで、TwitterAPIで取得したツイートの投稿時間を投稿からの経過時間で表示する方法です。
以下PHPで。
/* * 投稿時間からの経過時間を返す * @param string $created_at 投稿時間 * */ function getPassedTime($created_at) { $now = date_create(date('Y-m-d H:i:s'));//(*1) $created = date_create(date('Y-m-d H:i:s', strtotime($created_at)));//(*2) $passed = date_diff($now, $created); switch (true) : case ($passed->y):return $passed->y . '年前'; case ($passed->m):return $passed->m . 'ヶ月前'; case ($passed->w):return $passed->w . '週間前'; case ($passed->d):return $passed->d . '日前'; case ($passed->h):return $passed->h . '時間前'; case ($passed->i):return $passed->i . '分前'; default: return $passed->s . "秒前"; endswitch; }
こんな感じ。
補足:
記事の都合上、(*1)で現在時間を第二引数無しのdateで取ってしまってるので、ローカルの時計と、ローカルのタイムゾーン(Asia/Tokyo)が反映されるため、(*2)でちょっと面倒なことになってるけれど…。
現在時間もヘッダから拾ってきて、それぞれGMTな現在時間・投稿時間を直にdate_createすれば、もう少しシンプルになるはず。(タイムゾーンを意識する必要がないし、結果となる経過時間がローカルの時間に依存しないから。)
正直、個人的には2014/01/01 02:15:01 JST みたいな時間表示の方が、データの取得時間を意識する必要がないので好きなので「めんどくさいなー」と思ったのですが、↑の書いてるうちに「あぁ。そうか。」と。
補足で書いているように、相対表示、やり方によっては、タイムゾーンを意識する必要がないのはメリットかもれないかな〜と。世界広いし。
どちらにしても、相対表記のみでは情報不足なので、完全な時間表示は必要になるけれど。
FuelPHPで利用するphp_brawscap.iniのダウンロードURLがfuel/core/config で指定されていますが、そのURLが変更されたようで。
「自身でphp_brawscap.ini をローカルに配置してそれを参照する設定にしている」といった場合は不要ですが、FuelPHPはデフォルトではそのような設定になっていないので多くの場合は対応が必要かと思います。
(さらに…)
以前、「画像等のファイルをダウンロードさせる場合に、Twitterアカウントでの認証及び、ダウンロードした旨のツイートを強要するサンプル。」といった記事を書きましたが、それと似たような記事です。
「Twitterでフォローしてくれた相手にのみコンテンツを閲覧させる方法」の紹介です。