PHPプログラムからPush7のAPIで通知を送信するには

「WebPush」によるChromeやFirefoxなどのブラウザへの通知送信を手軽に自分のサイトで利用できるサービス「Push7」には、自作プログラムから通知送信を実行させるためのAPIも用意されている。HTTPSで特定のURLにアクセスしてパラメータを送信する一般的な方式なので、様々なプログラミング言語で簡単に利用できるぞ。「WordPress」などで使われている「PHP」言語の場合、「curl」系関數を利用すればいいだろう。
APIを利用するときに躓きやすいのが、パラメータの形式だ。POSTメソッドを使ってJSON形式で送ることになっているので、パラメータ名と値のペアを列挙した配列を「json_encode」関數でエンコードしたものを「CURLOPT_POSTFIELDS」オプションでセットするのだが、加えて「Content-Type: application/json」ヘッダで形式を明示しないとエラーになってしまう。
また、手動などでの通知送信時には省略できるアイコン畫像の指定が必須となっているのも厄介だ。通知ごとに用意するのは面倒だし、HTTPSでなければならないので、自分のサイトがHTTPSに対応していない場合は用意するのが難しい。手動などでの送信時に未指定の場合はPush7のサイト設定で登録したアイコンが使われるので、APIでもこちらを指定するといいだろう。この畫像は、管理畫面の右上のサイト切り替えボタンなどに使われているので、右クリックメニューからURLをコピーして使えばいいぞ。
以上の點を押さえておけば、數行のプログラムで簡単に通知を送れるので、ぜひ活用して思い通りの通知送信を行おう。

?Push7 APIの利用 - Push7 Docs


002

APIの利用に必要な「App Number」と「API Key」は、Push7管理畫面の「API」のページで確認できる。


001

Push7に登録されたアイコンのURLは、管理畫面右上のアイコンの右クリックメニューからコピーすればいいぞ。


PHPのcurl系関數群でPush7のAPIから通知を送信する基本的なコードは以下のようになる。curlの動作を制御するために指定できる他のオプションは、「curl_setopt」関數の説明ページで確認できるぞ。

$curl=curl_init('https://api.push7.jp/api/v1/'.$appno.'/send');
curl_setopt_array($curl,array(
    CURLOPT_POSTFIELDS=>json_encode(array(
        'title'=>$title,
        'body'=>$body,
        'icon'=>$icon,
        'url'=>$url,
        'apikey'=>$apikey,
    )),
    CURLOPT_HTTPHEADER=>array('Content-Type: application/json'),
));
curl_exec($curl);
curl_close($curl);

?PHP: curl_setopt - Manual

2019年01月04日 08時13分
©教えて君.net All Rights Reserved.
成年片黄网站色大全免费