API タグが付けられた記事一覧を表示しています。

Twitterでの「自動フォロー返し」のようなものを5行程度のPHPスクリプトで実現する方法。

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のパス、こんしゅーまきー、こんしゅーましーくれっと、あくせすとーくん、あくせすとーくんしーくれっと はそれぞれ適宜置き換える必要があります。

cute

公開日:2014年11月21日
タグ:, , ,

TwitterAPIで取得したツイートの投稿時間を「○分前」といった相対表記に変換する方法。

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 みたいな時間表示の方が、データの取得時間を意識する必要がないので好きなので「めんどくさいなー」と思ったのですが、↑の書いてるうちに「あぁ。そうか。」と。
補足で書いているように、相対表示、やり方によっては、タイムゾーンを意識する必要がないのはメリットかもれないかな〜と。世界広いし。
どちらにしても、相対表記のみでは情報不足なので、完全な時間表示は必要になるけれど。

公開日:2014年11月16日
タグ:, , , ,

ひすったーに「ミュート済みアカウント一覧表示機能」を追加しました。

2018/05/02 追記
ひすったーの方の「ミュート済みアカウント一覧表示」はなかった事にして、「ミュート済みアカウント」の確認も可能な「リツイート非表示済みアカウントチェッカー」を公開しました。
RT非表示済みアカウント一覧・ミュート済みアカウント一覧 をそれぞれ確認する事が出来ます。


リツイート非表示済みアカウントチェッカー
https://mutecheck.itby.net/


後述している通り、ミュート済みアカウント一覧に関しては、Twitter公式の機能として「設定」→「ミュートしているアカウント」から確認可能なので、サードパーティのサービスをあえて利用する必要は無いといえば無いかもしれませんが…。

2014/05/14
ミュート済みアカウント一覧表示について一時的に停止しました。
TwitterDevelopersのミュート関連のAPIのドキュメントが一覧から削除され、現在それらのドキュメントにアクセス出来ない状態になっているので、一応様子見ということで。
(APIはレスポンスを返すし使えるけれど、前に見た時には存在した公式のドキュメントが今現時点で見当たらないので何か気持ち悪い的な。)

最近、Twitter公式に「ミュート機能」が追加されたようで。

ミュート関連のAPIも提供開始されたので、ひすったーに「ミュート済み一覧」を追加しました。
(さらに…)

公開日:2014年05月14日
タグ:, , ,

TwitterAPIを利用して「Twitterでフォローしてくれたユーザにのみコンテンツを閲覧させる」といった事を実現する方法。

以前、「画像等のファイルをダウンロードさせる場合に、Twitterアカウントでの認証及び、ダウンロードした旨のツイートを強要するサンプル。」といった記事を書きましたが、それと似たような記事です。
「Twitterでフォローしてくれた相手にのみコンテンツを閲覧させる方法」の紹介です。

(さらに…)

公開日:2014年03月23日
タグ:, , , ,

TwitterAPIのアプリケーションタイプ(アクセス権うんたら)及び、ユーザへの説明(?)がどうとかいう話です。

公開日:2014年02月13日
タグ:, , ,
スポンサード リンク