Particle Electronで使うcurlコマンド


このエントリーをはてなブックマークに追加

particle Electron始めて見たのでメモ

Particle Electronを使ってると、APIを叩こうみたいな場面が出てきて
https://docs.particle.io/guide/getting-started/examples/electron/#use

curlコマンドを使うが使い方をよくわかってないとつらい

APIを叩く時にコマンドライン上でcurlコマンドを打つことが多いみたいなのでメモ
尚、curlの詳しいマニュアル(man)は以下を参照
curl.1 man ページ

Particle ElectronのAPI詳細については以下を参照
https://docs.particle.io/reference/api/

curlとは

Linuxのコマンドの一つで、HTTPアクセスをしてコンテンツを取得できるコマンド
https://hydrocul.github.io/wiki/commands/curl.html

URLをパラメータにしてそのコンテンツを標準出力させるのが基本的な使い方らしい
つまりただ単にcrulコマンドをするだけ。何もつけないとGETリクエストとして認識されるらしい
ちなみにリダイレクト( > ファイル名)をすれば、ファイル保存も出来る。 -o オプションでも保存可能

ex)

1
$ curl http://www.example.com/ > example.html

curlとwgetの違いについては以下に纏められてました(たぶん)
http://postd.cc/curl-vs-wget/

WebAPIリクエスト時にcurl

APIリクエストを送る時に参考にさせてもらった、よく使うオプションの説明なども丁寧でよい
curl を使って Web API をテストする(1)
curl を使って Web API をテストする(2)
WebAPIリクエスト仕様書としてcurlコマンドのご提案
とりあえず覚えた cURL のオプション
cURL を用いた API の使用法

Particle Electronでcurlコマンドを使ってみる

コマンドラインからElectronの情報などをgetしてみよう

自分のaccess tokenなどをgetしてみることでオプションなどを使ってみる

1
$ curl https://api.particle.io/oauth/token -u particle:particle -d grant_type=password -d username=joe@example.com -d password=SuperSecret

username= のところに自分の登録したメールアドレスを
password= のところにその自分のパスワードを
打ち込んで見ると、 token_typeやaccess_tokenの情報が返ってくる

curlのオプション

API叩く時によく見かけるオプションについて
http://www.hcn.zaq.ne.jp/___/unix/curl_manpage.html

-d, –data

指定したデータをPOSTリクエストとしてHTTPサーバーに送信する
とりあえず、フォームの送信と同様のことをおこなう感じ

Particle ElectronのLED on off をコマンド経由で行う場合があって
やり方のひとつに、curlコマンドを打ち込む方法がある
例えば以下のようになる

device IDが0123456789abcdefで
access_tokenが123412341234だった場合
(IDとaccess_tokenの調べ方は前回参照)

1
2
3
curl https://api.particle.io/v1/devices/0123456789abcdef/led \
-d access_token=123412341234 \
-d params=on

APIのURLに対して、POSTリクエストでaccess_token(認証に必要)と実行するパラメータ(LED on なら params=on, offなら params=off)を投げかける

-X

使用する要求のコマンド。-Xに続けて GET POST PUT DELETEのいずれかを使用する
ex)

1
2
3
4
5
$ curl -X POST https://api.particle.io/oauth/token -u particle:particle -d grant_type=password -d username=joe@example.com -d password=SuperSecret
# usernameにメールアドレスを、passwordにパスワードを入れる
# 例えば example@email.com, password=12345678だとしたら curl -X GET https://api.particle.io/v1/access_tokens -u example@email.com:12345678 となる
$ curl -X GET https://api.particle.io/v1/access_tokens -u username:password

-i

レスポンスヘッダを見たい時に使う

ひとまず以上、もう少し勉強すべし


このエントリーをはてなブックマークに追加