久しぶりの投稿はAPIを叩いてその結果をツイートする
という方法を忘れないために書いておく
環境
- abraham/twitteroauth を利用
- 参考→abraham/twitteroauthを使う Qiita
- composer のインストールを済ませておく(入れた記憶無いけど)
- php は 7.0で動いてるはず
サンプル
$settings = array(
'oauth_access_token' => "xxxxxxxxxxxxxxxxxx",
'oauth_access_token_secret' => "ooooooooooo",
'consumer_key' => "xxxxxxxxxxxxxxxxxxxxxxxx",
'consumer_secret' => "ooooooooooooooooooooo"
);
// OAuthライブラリの読み込み
require "twitteroauth/autoload.php";
use Abraham\TwitterOAuth\TwitterOAuth;
//認証情報4つ
$consumerKey = $settings['consumer_key'];
$consumerSecret = $settings['consumer_secret'];
$accessToken = $settings['oauth_access_token'];
$accessTokenSecret = $settings['oauth_access_token_secret'];
$base_url = 'http://api.bitflyer.jp';
$tag = 'PHP';
$query = ['product_code'=>'FX_BTC_JPY'];
$response = file_get_contents(
$base_url.'/v1/getboard?' .
http_build_query($query)
);
// 結果はjson形式で返されるので
$result = json_decode($response,true);
$mid_price = $result["mid_price"];
$message = "現在のbitflyerのFX_BTC_JPYは " . $mid_price . "円 です。";
//接続
$connection = new TwitterOAuth($consumerKey, $consumerSecret, $accessToken, $accessTokenSecret);
//ツイート
$res = $connection->post("statuses/update", array("status" => $message));
//レスポンス確認
var_dump($res);
今回、速さを優先してPHPでの取得にしてしまいました。
単純に価格を取得するだけなので、
おそらくAPIの回数規制にも引っかからないはず。
次はRubyで書いてみようかな。