Twitter API で特定のアカウントのツイートを取得する方法

Twitter API を使って、特定の(指定した)アカウントのツイートを取得する方法です。
作ってみたのが以下のサイトです。

https://www.bass-world.net/itawotweet/

https://developer.twitter.com/en.html からAPI キーを取得する

https://developer.twitter.com/en.html からアクセスして、

  • consumer_key
  • consumer_secret
  • access_token
  • access_token_secret

を取得します。どんなアプリを作るのか、英作文しないといけないけどがんばって!

TwistOAuth の取得

https://github.com/mpyw/TwistOAuth から TwistOAuth を入手します。
TwistOAuth.phar を今から作るプログラムと同階層においてください。

プログラムの作成

<?php
require_once 'TwistOAuth.phar';
$consumer_key = '{your-consumer-key}';
$consumer_secret = '{your-consumer-secret}>';
$access_token = '{your-access-token}';
$access_token_secret = '{your-access-token-secret}';

$connection = new TwistOAuth($consumer_key, $consumer_secret, $access_token, $access_token_secret);
$count = 3;
$max_length = 25;

function get_tweet($screen_name){
  global $connection, $count, $max_length;
  $ret = "";

  // connect
  $user = $connection->get('statuses/user_timeline',    
    array('screen_name' => $screen_name, 'count' => $count, 'exclude_replies' => 'false', 'include_rts' => 'false',));

  // get user names.
  $names = "<h4>" . htmlspecialchars($user[0]->user->name, ENT_QUOTES, 'UTF-8', false)
    . " @" . htmlspecialchars($user[0]->user->screen_name, ENT_QUOTES, 'UTF-8', false)
    . "</h4>\n";
  $ret .= $names;
  $ret .= '<ul class = "tweet">';
  // get tweets.
  foreach ($user as $value){
    $screen_name = htmlspecialchars($value->user->screen_name, ENT_QUOTES, 'UTF-8', false);
    $post_date = htmlspecialchars($value->created_at, ENT_QUOTES, 'UTF-8', false);
    $text = htmlspecialchars(mb_substr($value->text, 0, $max_length, 'UTF-8'), ENT_QUOTES, 'UTF-8', false);
    $link = '<a href = "https://twitter.com/' . $screen_name . '/status/' . $value->id_str . '">';
    $ret .= "<li>" . $post_date . " " . $link . $text . "</a></li>\n";
  }
  $ret .= "</ul>\n";
  return $ret;
}

// retrieve users tweet.
print(get_tweet("kumeuchi"));
print(get_tweet("meets_mandolin"));

みたいな感じで。

PHP プログラムをコマンドラインで動かす

$php aggregate_tweet.php > my_fav_tweets.html

みたいな感じで。

“Twitter API で特定のアカウントのツイートを取得する方法” への1件の返信

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です