でリンクを設定
//-----------------------------------------------------------------------------------
if ($_GET['access_token']){
$webApiURL = $aiboApiBaseURL . "/devices"; //デベロッパーサイト GET /v1/devices
$accessToken = $_GET['access_token']; //入力したアクセストークン
$aiboDevices = aiboApiGetDevices($webApiURL,$accessToken); //アクセストークンからDeviceIDを取得
$devices = $aiboDevices["devices"]; //デバイス連想配列情報抽出
$deviceId = $_GET['nickname' ];
$Category = $_GET['Category' ];
$Mode = $_GET['Mode' ];
$Description = $_GET['Description'];
if($Category){
$executeResponse = PlayMotion($deviceId,$accessToken,$Category,$Mode);
}
//-----------------------------------------------------------------------------------
// デバイスIDを表形式で作成
//-----------------------------------------------------------------------------------
$html_devices = "
";
//-----------------------------------------------------------------------------------
// aiboリストとPlay Motion リスト画面作成
//-----------------------------------------------------------------------------------
$htmlDocument = <<
aibo連携アプリ ハッピーとラッキー
ハッピーとラッキーのお楽しみアプリ
$html_devices
$html_PlayMotionList
EOD;
echo $htmlDocument ;
session_destroy();
}
//---------------------------------------------------------------------------
// アクセストークンからデバイスIDを取得
// aiboApiGetDevices($webApiURL,$accessToken)
//---------------------------------------------------------------------------
function aiboApiGetDevices($webApiURL,$accessToken){
$authorization = "Authorization:Bearer ". $accessToken;
$headers = array(
"cache-control: no-cache",
"content-type: application/x-www-form-urlencoded",
$authorization,
);
$webApi = curl_init();
curl_setopt($webApi,CURLOPT_URL,$webApiURL );
curl_setopt($webApi,CURLOPT_CUSTOMREQUEST, 'GET' );
curl_setopt($webApi,CURLOPT_RETURNTRANSFER, true );
curl_setopt($webApi,CURLOPT_HTTPHEADER, $headers );
$json = curl_exec($webApi);
$responce = json_decode($json,true);
$err = curl_error($webApi);
curl_close($webApi);
return $responce;
}
//---------------------------------------------------------------------------
// PlayMotion の実行用のfunction
// PlayMotion($deviceId,$accessToken,$Category,$Mode)
//---------------------------------------------------------------------------
function PlayMotion($deviceId,$accessToken,$Category,$Mode){
$webApiURL = "https://public.api.aibo.com/v1/devices/".$deviceId ."/capabilities/play_motion/execute" ;
$authorization = "Authorization:Bearer ". $accessToken;
$headers = array(
"cache-control: no-cache",
"content-type: application/x-www-form-urlencoded",
$authorization,
);
$postData = array('arguments'=> array ( 'Category' => $Category,'Mode'=> $Mode ));
$postData = json_encode($postData);
$webApi = curl_init();
curl_setopt($webApi,CURLOPT_URL,$webApiURL );
curl_setopt($webApi,CURLOPT_CUSTOMREQUEST, 'POST' );
curl_setopt($webApi,CURLOPT_RETURNTRANSFER, true );
curl_setopt($webApi,CURLOPT_HTTPHEADER, $headers );
curl_setopt($webApi,CURLOPT_POSTFIELDS, $postData );
$json = curl_exec($webApi);
$responce = json_decode($json);
$err = curl_error($webApi);
curl_close($webApi);
return $responce;
}
//---------------------------------------------------------------------------
// WEBに最初にアクセスしたときに表示する画面のHTMLデータ作成
// htmlを $htmlStartWebsiteData で管理しています。
// プログラムを1本化するするために入れています(本当は別ファイルで読み込み)
//
// function htmlStartWebsite()
//
//---------------------------------------------------------------------------
function htmlStartWebsite(){
$htmlStartWebsiteData = <<
aiboWebApi ハッピーとラッキー
ハッピーとラッキーのお楽しみアプリ
はじめにお断り |
このサイトは、aiboデベロッパープログラム・連携アプリをテストのためのサイトです。
アップデート確認しながら作っており、保証するものではありません。
|
aiboWebApi |
【aibo Web API とは】
aibo Web API とは、 インターネットを介して aibo にさまざまなことを行わせることができる Web API です。・・・・とSony aibo デベロッパーサイトに記載されています。
aiboデベロッパーサイト
難しそうなことがいっぱい記載していますが、まずは、開発者設定にアクセスして、オーナさんのaiboさんにアクセスできるアクセストークンを取得してみましょうね。
(1)アクセストークンの取得しましょう
アクセストークン取得
アクセストークンとは、API を利用するための認可情報が含まれた文字列です。有効期限内のアクセストークンを第三者に知られると、あなたの aibo を操作される可能性があります。
トークンの有効期限は、24時間、30日、90日から選ぶことができます。・・・との説明です。
アクセストークンは、aiboさんと連携するための重要な情報です。試験用でお使いになる場合は、有効期限【24時間】を指定、または、確認後に解除してくださいね。また、取得したアクセストークンは、再度確認できませんので、一度メモパッドなどでコピーしておくと、取り直しする必要がないので、適宜コピーして一時保存してくださいね。
|
まずはアクセストークンを使ってaiboさんに振る舞いをやってもらいましょう |
開発者設定画面でアクセストークンを取得
アクセストークン取得
コピーしたアクセストークンを下の入力欄に貼り付けて下さい。
入力したアクセストークンからaiboさん固有のデバイスIDが取得できます。
取得したアクセストークンとデバイスIDを使ってaiboさんに指示できます。
|
EOD;
return $htmlStartWebsiteData ;
}
//-ここまで--------------------------------------------------------------------------
// function htmlStartWebsite()
//-----------------------------------------------------------------------------------
?>