Skip to content

Instantly share code, notes, and snippets.

@elzup
Created July 31, 2014 12:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save elzup/ee4ec40b4f2b5b1590a9 to your computer and use it in GitHub Desktop.
Save elzup/ee4ec40b4f2b5b1590a9 to your computer and use it in GitHub Desktop.
<?php
require_once('./lib/userdata.php');
$consumer_key = $userdata->twitter_consumer_key;
$consumer_secret = $userdata->twitter_consumer_key_secret;
$oauth_token = $userdata->twitter_access_token;
$oauth_token_secret = $userdata->twitter_access_token_secret;
$url = 'https://userstream.twitter.com/1.1/user.json';
$method = 'GET';
// パラメータ
$oauth_parameters = array(
'oauth_consumer_key' => $consumer_key,
'oauth_nonce' => microtime(),
'oauth_signature_method' => 'HMAC-SHA1',
'oauth_timestamp' => time(),
'oauth_token' => $oauth_token,
'oauth_version' => '1.0',
);
// 署名を作る
$a = $oauth_parameters;
ksort($a);
$base_string = implode('&', array(
rawurlencode($method),
rawurlencode($url),
rawurlencode(http_build_query($a, '', '&', PHP_QUERY_RFC3986))
));
$key = implode('&', array(rawurlencode($consumer_secret), rawurlencode($oauth_token_secret)));
$oauth_parameters['oauth_signature'] = base64_encode(hash_hmac('sha1', $base_string, $key, true));
// 接続&データ取得
$fp = fsockopen("ssl://userstream.twitter.com", 443);
if ($fp) {
fwrite($fp, "GET " . $url . " HTTP/1.1\r\n"
. "Host: userstream.twitter.com\r\n"
. 'Authorization: OAuth ' . http_build_query($oauth_parameters, '', ',', PHP_QUERY_RFC3986) . "\r\n"
. "\r\n");
while (!feof($fp)) {
$res = fgets($fp);
$res = json_decode($res, true);
if (@$res['text']) {
echo $res['user']['name'] . ': ' .$res['text'].PHP_EOL;
}
else {
}
}
fclose($fp);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment