Posted at

bitflyerのAPIを使ってTwitterに板情報に投稿する

More than 1 year has passed since last update.

久しぶりの投稿は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で書いてみようかな。