ずぶの素人がITでビジネスを作り上げるまで

ITビジネスの話から小ネタまで集めました

未分類

SORACOM の 利用料を PHPでSlackに送る

投稿日:

1.SORACOMのSAMユーザーを作る

SORACOMのコンソール画面の右上のボタンから「セキュリティ」を選択し「ユーザー作成」を押す。
ユーザー作成すると、

認証キーID

認証キーシークレット

が表示されるので、コピペして保存する。

2.ユーザーに権限を割り当てる

ロールボタンを押して、ロールを以下のように作成する。
※codeの箇所は以下のように打つ。

{
“statements”:[
{
“effect”:”allow”,
“api”:”*”,
“condition”:”httpMethod(‘GET’, ‘POST’)”
}
]
}

ロールを作成したら、ユーザーの画面で、ロールをアタッチさせます。

これでSORACOM側は準備完了。

3.PHPからSORACOMの利用料金を呼び出すAPIを叩く

以下のように記述する

$keyid=”上記で取得した認証キーID” ;
$secretid=”上記で取得した認証キーシークレット” ;

//トークン取得のAPI
$base_url = “https://api.soracom.io/v1/auth” ;
$header = [
‘Content-Type: application/json’,
];

$data = [
‘authKeyId’ => $keyid ,
‘authKey’ => $secretid ,
‘tokenTimeoutSeconds’ => 86400
];

$context = stream_context_create(array(
‘http’ => array(
‘method’ => ‘POST’,
‘header’ => $header, //implode(PHP_EOL,$header),
‘content’=> json_encode($data),
‘ignore_errors’ => true
)
));

$response = file_get_contents(
$base_url
,false
,$context
);

$arr = json_decode($response,true);

$apiKey = $arr[“apiKey”];
$token = $arr[“token”];

//料金を取得する
$base_url = “https://api.soracom.io/v1/bills/latest” ;
$header = [
‘X-Soracom-API-Key: ‘.$apiKey,
‘X-Soracom-Token: ‘.$token,
‘Content-Type: application/json’,
];

$context = stream_context_create(array(
‘http’ => array(
‘method’ => ‘GET’,
‘header’ => $header, //implode(PHP_EOL,$header),
‘ignore_errors’ => true
)
));

$response = file_get_contents(
$base_url
,false
,$context
);

$arr = json_decode($response,true);

 

$text = “今月のSORACOM利用料金は、今のところ ” . $arr[“amount”] . ” 円です” ;
echo $text ;

 

4.Slack の APIキーを作成する

※今回、レガシーのAPI key を使う方法にする。(初心者は気にする必要なし)
https://api.slack.com/custom-integrations/legacy-tokens
ここのサイトから
「Legacy token generator」を使って、Tokenを作成しましょう。

5. PHPでSlackに通知を送る

$slackApiKey = ‘xxxx-xxxxxxxxx-xxxx’; //上で作成したslackのAPIキー
$text = urlencode($text);
$url = “https://slack.com/api/chat.postMessage?token=${slackApiKey}&channel=%23hogehoge&text=${text}&as_user=true”;
file_get_contents($url);

urlencode($text):urlに埋め込むときはurlエンコードをする。
リクエストパラメータ(token, channel, textは必須パラメータ)
token:作成したAPIキー
channel:通知を送るチャンネル名(%23は#のurlエンコード。この例なら、チャンネル名は「#hogehoge」)
text:通知内容
as_user:これを指定しなければ「Slack API Tester」が投稿。trueにしたら、「APIキーの作成者」が投稿。

 

下記のサイトさまから引用しています。
http://blog.serverworks.co.jp/tech/2016/12/14/soracom-api/(SORACOMのAPIで遊んでみる
http://qiita.com/shuntaro_tamura/items/27dcc2cb3fe4aa7b15a4(PHPでSlackに通知を送る)

 

 

-未分類

執筆者:


comment

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

関連記事

ロリポップの自分のサイトをHTTPS化する