LoginSignup
3
4

More than 5 years have passed since last update.

twitter api で twitube.jp を作ってみる

Last updated at Posted at 2017-09-21

ひたすら、ただひたすらにTwitterツールを作ってみます。
よかったら皆さんも使ってみて下さい。
随時更新。

とりあえず走り書きでやってきますが、最終的には綺麗にまとめていきますんで。
少しでもTwitterAPIを使うヒントを提供できれば。

ツイッター上で流れてきた動画をいいねする。
すると、その動画を自分のものとしてツイートできます。
https://twitube.jp

以下はそのメモ。

フォロー・フォロワーのメソッドは以下のように分けたほうがいい

フォローしている => friends
フォロワー => followers

作っている途中でごちゃごちゃになるので、
フォローしているのは、フレンド。
フォローされているのはフォロワーと
しておくべき。

データベース及び、javascriptで表示する時の注意

twitter APIには id 型と id_str 型がある。
これからはid_strだけを使っていくべき。

mysql型はどうすりゃいい?

twitter api の idは、id_strを取得。
bigint 型にして、20桁まで対応させましょう。
(じゃないとDBにうまく登録できません)

javascriptで数値が丸まっちゃうんだけど。

ajaxで twitter api の id を取得し表示させると、数値が四捨五入される。
よって、 id_str を取得し、それを表示させるようにしましょう。
(123456789のIDが123457000 になって表示されてしまう感じ。)

片思い、両思いを取得してみよう

//片思いされている
//片思いしている
//お互いにフォロー中

を取得する方法とその考え。
https://twitube.jp/tweets/omoi/


//    自分のフォロワーIDを取得
    public function getFollowers($option = [])
    {
        $res = $this->UserTwitter->get("followers/ids",$option);
        return $res;
    }

//    自分のフレンドを取得

    public function getFriends($option = [])
    {
        $res = $this->UserTwitter->get("friends/ids",$option);
        return $res;
    }

    public function look($option = [])
    {
        $res = $this->UserTwitter->post("users/lookup",$option);
        return $res;
    }


上記3つのAPIを使う。
で、それぞれの差分を取得。

$omoi = [
            'ryouomoi' => array_intersect($res['follow'],$res['fan']),
            'kataomoi_sareteru' => array_diff($res['follow'],$res['fan']),
            'kataomoi_shiteru' => array_diff($res['fan'],$res['follow'])
        ];

こんな感じ、これで両思いか片思いかなどがわかるので、
そのIDで lookup API でユーザー情報を取得する。

//9月12日 以降の video を持つツイート
https://twitter.com/search?l=ja&q=filter%3Avideos%20since%3A2017-09-12&src=typd&lang=ja

ライブラリだとこんな感じ

$data = $this->Twitter->search([
            'q' => 'from:ma7ma7pipipi filter:videos'
        ]);


リツイート検索
検索ワードや検索コマンドに、min_retweets:[数字]を加えると、リツイート数が、その数字以上のツイートのみを検索することができます。人気ツイートを検索したい場合に有用です。
使用例: 猫 min_retweets:1000
サンプル: WEBで検索 / アプリで検索
お気に入り(ファボ)検索
検索ワードや検索コマンドに、min_faves:[数字]を加えると、お気に入り(ファボ)された数が、その数字以上のツイートのみを検索することができます。人気ツイートを検索したい場合に有用です。
使用例: 猫 min_faves:1000
サンプル: WEBで検索 / アプリで検索

Twitter リスト検索機能を作るか
どの芸能人が、どのリストに含まれるかをチェックすることで、リストがわかる。

リストメンバーズでリンクを貼るか。

//twitter search のコツ
https://gist.github.com/cucmberium/e687e88565b6a9ca7039

//リツイートは除く
exclude:retweets

//公式APIのキーが流れてる?
http://kww21.endless-world.net/twitter/ConsumerKey.html

list:/RyoSpencer/lists/av
https://twitter.com/RyoSpencer/lists/av

位置情報

statuses/show
Twitterアプリで位置情報をタグをつけたものを取得すると、
place という項目が追加される。
これでも何か作れるかも。


 [place] => stdClass Object
        (
            [id] => 09efb4cf2cd6f001
            [url] => https://api.twitter.com/1.1/geo/id/09efb4cf2cd6f001.json
            [place_type] => poi
            [name] => アニメイトカフェ
            [full_name] => アニメイトカフェ
            [country_code] => JP
            [country] => 日本
            [contained_within] => Array
                (
                )

            [bounding_box] => stdClass Object
                (
                    [type] => Polygon
                    [coordinates] => Array
                        (
                            [0] => Array
                                (
                                    [0] => Array
                                        (
                                            [0] => 136.87880513301
                                            [1] => 35.16793345538
                                        )

                                    [1] => Array
                                        (
                                            [0] => 136.87880513301
                                            [1] => 35.16793345538
                                        )

                                    [2] => Array
                                        (
                                            [0] => 136.87880513301
                                            [1] => 35.16793345538
                                        )

                                    [3] => Array
                                        (
                                            [0] => 136.87880513301
                                            [1] => 35.16793345538
                                        )

                                )

                        )

                )

            [attributes] => stdClass Object
                (
                )

        )



3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4