6px}figcaption{text-align:center;font-size:.8em;margin:2px}無能投資家が綴る苦悩の日々。APIを使ったフォロワー数の自動記録ツールを作成しました。現在も現役でせっせと記録を続けてくれています。APIを利用し、毎日のツイッターのフォロワー数を記録するツールを作成しました。APIの使い方を記事にしたいと思います。PHPにした理由は、最終的にはワードプレスでごにょごにょするためです。分量が多いのと色んな内容がごちゃごちゃしてしまうのを避けるために記事を何個かに分けて書きます。今回の内容は、タイムラインを取得する!基本中の基本を押さえます。ユーザータイムラインを中心に取得方法が似ている2つのタイムラインを併せて紹介します。いいね(お気に入り)のリストはタイムラインではないのですが、同じように取得できるのでまとめて紹介します。基本的な要素を表示するサンプルコード個別ツイートへのリンクの作成方法ツイート埋め込みコードの取得方法APIを利用したタイムラインの取得回数の制限ちなみにホームタイムラインフォローしてるユーザーのツイートが流れるタイムラインユーザータイムライン特定のユーザーのツイートが流れるタイムラインプロフィールタイムラインとも呼ばれる?メンションタイムライン特定ユーザーに向けた@付きのツイートが流れるタイムラインです。基本的な要素の表示用コードひと手間かけて得られるもの個別ツイートのリンクツイート埋め込みコード全部入りAPIを利用したタイムライン取得回数の制限についてあとがき必要なものツイッター開発者アカウントツイッターアカウントとは別にAPIを利用するために必要になります。本記事ではアカウントの登録とAPPの作成は割愛しています。今回はアクセストークンを使ってます。secretが必要です。オース)は、権限の認可を行うためのオープンスタンダードです。今回、タイムラインの取得のためにOAuth認証用ライブラリの1つであるTwitterOAuthを使用しました。公式サイトにはインストールはComposerとManualの2種類の方法があり、Composerが簡単と書いてます。Composerってナンジャラホイだったのでマニュアルでやりました。APIとのやり取りだけだったので、動作確認はpublic_htmlの下に適当なフォルダを作って行いました。以下の点でメリットがあります。作成するPHPファイルでライブラリを読み込む作成するPHPファイルで以下の2行を書けばあっけなく終わります。PHPファイルを作成ツイートデータ構成確認用と基本的な要素の表示用の2種類のコードを用意しています。ユーザータイムラインの取得を例にしています。ツイートデータ構成確認用コードまずはツイートデータ構成確認用コードです。このコードによりタイムラインで取得したすべての情報がどのように入っているのかを確認できます。}?>コード1では$timelineに入力したツイートのデータをvar_dumpを利用して出力しています。var_dump単体で使用した場合は、非常に読みにくいものが吐き出されるので、上記にあるように<pre>を利用するのがオススメです。ホームタイムラインを取得したい場合は、14行目のコメントアウトを取って16行目をコメントアウトにしてください(メンションタイムラインも同様)実行結果です。コード1実行結果(クリックで拡大)画像はブラウザ画面のキャプションなので全部入ってませんが、私の最新のツイートの内容が表示されています。ツイートとして外に見えているもの以外にも多くの情報がここに詰まっています。タイムラインの取得時に付与するパラメータについてタイムライン取得時にパラメータを付与することにより、取得するデータを変更することができます。詳しい使い方の説明が必要なものは別記事としますので、ここでは3つのパラメータのみ紹介します。countこのパラメータをつけることで取得するツイート数を変更できます(最大200件)。何も指定しなければデフォルトの20件となります。本記事のコードでは10件のみ読み込むようにしています。フィールドが取得できるようになります。以前は文字数制限が厳しく、画像(JPEG、GIF)やURLを貼った場合には書ける文字数が140文字より減っていました。現在の画像やURLを除いて140文字というルールに基づくツイート内容がfull_textに入ります。画像やURLを含んだ文字数の多いツイートは最後の方が「...」と省略されます。必須のパラメータなので本記事のコードにも付与しています。screen_nameユーザータイムライン/いいねのリストに付与するパラメータです。本記事のコードでは付与していないのでAPIキーの持ち主のツイート(私のツイート)やいいねリストが結果として得られています。パラメータを付与することで自分以外のユーザータイムラインやいいねのリストを取得できます。screen_nameはユーザー名のことで「@xxxxx」の@以降の「xxxxx」の部分です。別記事を書きましたので、パラメータについて詳しくはこちらをご覧ください。APIを利用したタイムラインの取得に指定できるパラメータを紹介します。基本的な要素の表示用コード色々な情報が詰まっている中から基本的な要素をいくつか抜き出して表示するコードを紹介します。}?>ステータスIDは世の中のツイートすべてに付けられる固有のIDですリプライはリプライされたツイート側には情報がつきません。リプライしたツイート側に、リプライをしたツイートのステータスIDが入ってきます。あるツイートについたリプライの件数を数えるのはかなりやっかいです。基本的な要素が抽出されてます。コード2実行結果(クリックで拡大)ひと手間かけて得られるもの残念ながら個別ツイートへのリンク、ツイートの埋め込みコードは取得した要素に含まれていません。そこはひと手間かけて取得する必要があります。料理もひと手間かけるとおいしくなるでしょ?不味くなることもあるけどね。個別ツイートのリンク個別ツイートのリンクは「https://twitter.com/」+「ユーザー名」+「ステータスID」という造りになっています。以下のコードで生成できます。$timeline[$i]->id;ツイート埋め込みコードここまで各要素を1つずつ抜き出すのを見てきましたが、結構大変ですよね。手作業でちょっちょとやったら手に入るツイートの埋め込み用コードの取得ができれば、それを使うだけである程度のものができちゃいます。APIを利用してコードを取れます。ツイート埋め込みコードは、埋め込みコード生成用にもう一度リクエストが必要になります。以下のコードのように「リクエスト用URL生成→リクエスト」を行うとJSON形式で戻ってきます。「html」フィールドに埋め込みコードが入っています。file_get_contents($url2);全部入り個別ツイートのリンクとツイート埋め込みコード生成もすべて入れたコードはこのようになります。全部入り実行結果(クリックで拡大)埋め込みコード取得は時間がかかるので、その場で取得してその場で表示という利用方法は厳しいです。取得したコードを一旦データベースに入れて、表示にはデータベースから読み込みとするのが良いかと思います。APIを利用したタイムライン取得回数の制限について最後になりましたが、APIを利用したデータの取得には制限があります。15分の間に何回リクエストするかが制限対象となります。リンクは公式サイトです。制限を超えると最長15分のおあずけモードとなります。あとがき基本に絞ったのにこの分量...。API関連で書きたいところはまだまだあるのでまた書きます。(書ききるのはいつなるのだろうか...)第2弾としてパラメータについて書きました。APIを利用したタイムラインの取得に指定できるパラメータを紹介します。時間帯による「おはようございます」「こんにちは」「こんばんは」の使い分け、きちんとできてますか?できてないあなた、ワンランク上を目指してみませんか?2019.11.18Tips【MySQL】前のレコードからデータ取得(OFFSET句)MySQLで前のレコードからデータ取得する方法を紹介します。APIを利用したタイムラインの取得に指定できるパラメータを紹介します。活用すればAPIの管理が楽になります。使ってみて感じた良いところ、イマイチなところを含めて記事にしました。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。date*日本語が含まれない投稿は無視されますのでご注意ください。@munokuno興味本位で投資の世界に飛び込み、溺れ続けるリーマン投資家。投資歴は無駄に長く20年弱。ライブドアショック、リアルリーマンショック経験者。逆指標として使えます。投資以外の随筆ブログマーケティング生産性アップTips変なツールシェアするあなたのシェアが、力になる。TwitterFacebook0はてブ0Pocket1LINEフォローする\クノウをフォローする/キャッチ・ミー・イフ・ユー・キャン0タイトルとURLをコピーしました。