レコード操作(作成/取得/変更/削除)
cURLライブラリを使用して、レコードの作成、取得、変更、削除をするサンプルプログラムです。
PHPにcurlライブラリが組み込まれている必要があります。
<?php
//SPIRAL Ver2のAPI用のURL
$base_url = "https://api.spiral-platform.com/v1/";
$url = $base_url."apps/{app}/dbs/{db}/records";
//APIキー
$apikey = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
//ヘッダ
$header = array(
"Authorization:Bearer ".$apikey,
"Content-Type:application/json","X-Spiral-App-Authority"."manage",
);
//------------------------------
//insert
//------------------------------
//登録したいレコードを設定
//ボディ
$body = [
"employeeId" => "100",
"name" => "山田 太郎",
"email" => "yamada.taro@example.com",
"phone" => "+81 080-1111-2222",
"gender" => "0",
"zipCode" => "111-2222",
"pref" => "13",
"address" => "東京都港区赤坂",
"entryDays" => "2017-4-1"
];
//配列をjson形式に変換
$json_body = json_encode($body);
// curlライブラリを使用して送信
//セッションを初期化する
$curl = curl_init();
//実行結果を文字列で取得できるように設定
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
//urlを指定
curl_setopt($curl, CURLOPT_URL , $url);
//ヘッダを指定
curl_setopt($curl, CURLOPT_HTTPHEADER , $header);
//ボディを指定
curl_setopt($curl, CURLOPT_POSTFIELDS , $json_body);
//メソッドを指定
curl_setopt($curl, CURLOPT_CUSTOMREQUEST , 'POST');
//セッションを実行し、その結果を取得
$response = curl_exec($curl);
//cURLのエラーメッセージを表示
if (curl_errno($curl)) echo curl_error($curl);
//セッションを閉じる
curl_close($curl);
//json形式を配列に変換して表示
print_r(json_decode($response , true));
//------------------------------
//select(List)
//------------------------------
/* 条件検索する場合はurlの末尾にクエリパラメータを付加
$query = "?where=@employeeId=100";
//日本語などのマルチバイト文字を使用する場合は、urlencodeを使いエンコードする必要がある
$query = "?where=@name=". urlencode("山田 太郎");
$url = $url . $query;
*/
// curlライブラリを使用して送信
//セッションを初期化する
$curl = curl_init();
//実行結果を文字列で取得できるように設定
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
//urlを指定
curl_setopt($curl, CURLOPT_URL , $url);
//ヘッダを指定
curl_setopt($curl, CURLOPT_HTTPHEADER , $header);
//セッションを実行し、その結果を取得
$response = curl_exec($curl);
//cURLのエラーメッセージを表示
if (curl_errno($curl)) echo curl_error($curl);
//セッションを閉じる
curl_close($curl);
//json形式を配列に変換して表示
print_r(json_decode($response , true));
//------------------------------
//select
//------------------------------
//urlの末尾に取得したいrecordIdを付加
$url = $url."/100";
// curlライブラリを使用して送信
//セッションを初期化する
$curl = curl_init();
//実行結果を文字列で取得できるように設定
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
//urlを指定
curl_setopt($curl, CURLOPT_URL , $url);
//ヘッダを指定
curl_setopt($curl, CURLOPT_HTTPHEADER , $header);
//セッションを実行し、その結果を取得
$response = curl_exec($curl);
//cURLのエラーメッセージを表示
if (curl_errno($curl)) echo curl_error($curl);
//セッションを閉じる
curl_close($curl);
//json形式を配列に変換して表示
print_r(json_decode($response , true));
//------------------------------
//update
//------------------------------
//urlの末尾に変更したいrecordIdを付加
$url = $url."/100";
// 変更したいレコード情報を設定
//ボディ
$body = [
"employeeId" => "200",
"name" => "山田 次郎",
"email" => "yamada.ziro+01@example.com",
"phone" => "+81 0120-111-222",
"zipCode" => "111-2222",
"pref" => "43",
"entryDays" => "2016-4-1"
];
//配列をjson形式に変換
$json_body = json_encode($body);
// curlライブラリを使用して送信
//セッションを初期化する
$curl = curl_init();
//実行結果を文字列で取得できるように設定
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
//urlを指定
curl_setopt($curl, CURLOPT_URL , $url);
//ヘッダを指定
curl_setopt($curl, CURLOPT_HTTPHEADER , $header);
//ボディを指定
curl_setopt($curl, CURLOPT_POSTFIELDS , $json_body);
//メソッドを指定
curl_setopt($curl, CURLOPT_CUSTOMREQUEST , 'PATCH');
//セッションを実行し、その結果を取得
$response = curl_exec($curl);
//cURLのエラーメッセージを表示
if (curl_errno($curl)) echo curl_error($curl);
//セッションを閉じる
curl_close($curl);
//json形式を配列に変換して表示
print_r(json_decode($response , true));
//------------------------------
//delete
//------------------------------
//urlの末尾に削除したいrecordIdを付加
$url = $url."/100";
// curlライブラリを使用して送信
//セッションを初期化する
$curl = curl_init();
//実行結果を文字列で取得できるように設定
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
//urlを指定
curl_setopt($curl, CURLOPT_URL , $url);
//ヘッダを指定
curl_setopt($curl, CURLOPT_HTTPHEADER , $header);
//メソッドを指定
curl_setopt($curl, CURLOPT_CUSTOMREQUEST , 'DELETE');
//セッションを実行し、その結果を取得
$response = curl_exec($curl);
//cURLのエラーメッセージを表示
if (curl_errno($curl)) echo curl_error($curl);
//セッションを閉じる
curl_close($curl);
//json形式を配列に変換して表示
print_r(json_decode($response , true));
?>
※API1.0の記述についてはこちらをご覧ください。