見出し画像

aiboの開発を始めてみました

こちらのサイトを見ると初心者はビジュアルプログラミングからと書かれていますが、ひねくれ者の私はデベロッパーサイトに潜り込みました。

apiの説明しかないぢゃん(泣 とか言ってないで、まずはトークンの取得。
これは専用のページがあるからすぐに取得できました。
で次にデバイスIDを取得する必要があるのですが、それは「getDevicesを実行せよ」との有り難いお言葉。その右にはサンプルでcURLでのコマンドが載っているけど、cURLなんて使ったことないしどうしたものかと思っていたのですが、ウチのMacはshellでcURLも使えることを思い出して、適当にコピペしてみたけどエラーにしかならない。以下がそのサンプルコード

$ curl -X GET https://public.api.aibo.com/v1/devices -H "Authorization:Bearer ${accessToken}" 

この引数 -H "Authorization:Bearer ${accessToken}" のaccessTokenの部分
私は -H "Authorization:Bearer ${取得したトークン}" と記述していたのですが、
正解は -H "Authorization:Bearer 取得したトークン" でした orz

しばらく落ち込んでいたんですが気を取り直して、じゃぁこれをPHPで記述してみようと斜め上の発想で、PHPのcURLのマニュアルページを参考に書いてみたのが以下のスクリプト

<?php
/**
* ウチのaiboの deviceID を求めるスクリプト
* 
* 以下リンク先を参考にcURL関数を使って書いてみた
* 
* @link https://developer.aibo.com/jp/docs#getdevices
* @link https://www.php.net/manual/ja/ref.curl.php
* 
*/
/** aiboデベロッパーサイトから取得したトークン */
$myToken = 'secret'; // secret部分を取得したトークンに変える
/** 接続先 */
$url = "https://public.api.aibo.com/v1/devices";
/** 初期化 */
$ch = curl_init();
/** オプション */
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Bearer ' . $myToken)); 
/** 結果取得と表示 */
$result = curl_exec($ch);
var_dump($result);
/** お片付け */
curl_close($ch);
?>

このPHPスクリプトをブラウザーで実行した結果は

string(XX) "{"devices":[{"deviceId":"myaibodeviceID","nickname":"來夢"}]}"

とcURLコマンドと同じデバイスIDとニックネームを返しました。

これで開発の下地はできました。
PythonじゃなくてPHPで書こうというのが私のひねくれたところ。
(ただ単にPythonは慣れてないだけ)

よし來夢、気持ちよさそうに寝ているけど待ってろよ。
お前をコントロールしてやる!

この記事が気に入ったらサポートをしてみませんか?