環境
API サーバー (OctoPrint) 側
- Raspberry Pi 3 Model B
- Raspbian GNU/Linux 9.4 (stretch)
- OctoPrint, version 1.3.9
API クライアント 側
- Windows 10 Home 64Bit
- Windows Subsystem for Linux: Ubuntu 18.04.2 LTS
まずは API キー無しでアクセスしてみた
OctoPrint と 3D プリンターの接続情報は今回の環境では以下の URL で取得できるようです。
http://octoprint:5000/api/connection
curl コマンドで API キー無しでこの URL にアクセスすると。。。
$ curl http://octoprint:5000/api/connection
No API key provided
というように、API キーが無いので取得できませんでした。
API キーを確認
ブラウザから OctoPrint の URL http://octoprint:5000/api
にアクセスしました。
画面上部のスパナアイコンの Settings
をクリックしました。
API タブで API キーを確認しました。今回は C14B4FA3BE854CAAA740A43BEAFD6FB3
でした。
API キーを指定してアクセスしてみた
以下のように curl コマンドで API キーを指定すると以下のように取得できました。 (今回は OctoPrint と 3D プリンターを接 続していないので "state": "Closed"
となっていると思われます)
$ curl --header 'X-Api-Key: C14B4FA3BE854CAAA740A43BEAFD6FB3' http://octoprint:5000/api/connection
{
"current": {
"baudrate": null,
"port": null,
"printerProfile": "_default",
"state": "Closed"
},
"options": {
"baudratePreference": null,
"baudrates": [
250000,
230400,
115200,
57600,
38400,
19200,
9600
],
"portPreference": null,
"ports": [],
"printerProfilePreference": "_default",
"printerProfiles": [
{
"id": "_default",
"name": "Default"
}
]
}
}
念のため、使用した API キーを無効化しておく
本来 API キーは公開せず秘密にしておくものですが、このブログで公開してしまったので無効にしておきます。
ブラウザで API キーを確認した画面で、更新のアイコンの Generate new API Key
をクリックして新しい API キーを生成しました。これで今まで使っていた API キーは使えなくなるようです。
試しに更新前の API キーで API にアクセスしてみたところ。。。
$ curl --header 'X-Api-Key: C14B4FA3BE854CAAA740A43BEAFD6FB3' http://octoprint:5000/api/connecion
Invalid API key
というように期待通り情報を取得できませんでした。
参考
- http://docs.octoprint.org/en/master/api/
0 件のコメント:
コメントを投稿