ずぶの素人が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

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

関連記事

サイトリニューアルする際に301リダイレクトできないので旧サイトからcanonicalタグでリダイレクトした件

JUGEMからWordPressへサイトを引っ越しするのに、JUGEMが301リダイレクトに対応してないものだから、 致し方なく、旧サイトのhtmlコードでcanonicalタグを使用した上で新サイト …

パソコン起動した時にslackを立ち上げない方法(Windows10)

自宅のパソコン(Windows10)で仕事のslackを立ち上げるようにしたのだけど、 家族も使うパソコンなので自動起動はしないでほしい時、以下の方法をメモ書きしておく。 [ctl]+[shift]+ …

顧客は誰だ?

たった一人でいい。 一人の顧客を幸せにすることを考えよう。 ビジネスをするには果てしなく困難な道のりがあるかもしれないが、 常に「顧客」から考えていく。 一人の顧客を幸せにできたのなら、それを拡大すれ …

AnzuTube がバックグラウンドで再生しない?どうやるんだ?

YouTube をバックグラウンドで再生できるという「AnzuTube」をインストールした。 docomoのiPhone を使っている筆者はつい先日「ウルトラパック」を契約したばかり。20GB使い放題 …

大企業が顧客視点になれない理由は?

「顧客視点」って言葉はみんな大好きだけど、本当の意味の「顧客視点」になっているケースは少ない。 特に大企業において、プレゼン資料にこの言葉は乱発されてはいるものの、なんとなく、その言葉の持つ響きだけで …