ElixirのようなWatson向けライブラリが存在しない言語でWatsonを扱うにはトークンの発行等を自力で全て書かないといけない。
とりあえずcurlでトークン取得できれば後はどうにでもなるかなと思ってやってみた。
Bluemixでサービスを作成すると下記のようなCredentialが発行される。
{
"url": "https://stream.watsonplatform.net/speech-to-text/api",
"password": "ABCDEFGHIJKLMN",
"username": "11111111-222222-333333-4444444"
}
で、次のcurl文の {username}
,{password}
,{url}
を置換する。
curl -X GET --user {username}:{password} "https://stream.watsonplatform.net/authorization/api/v1/token?url={url}"
今回の例では最終的なcurl文は以下のようになる。
curl -X GET --user 11111111-222222-333333-4444444:ABCDEFGHIJKLMN "https://stream.watsonplatform.net/authorization/api/v1/token?url=https://stream.watsonplatform.net/speech-to-text/api"
そして取得できたトークンはこんな感じ。
SUncNyCgRwPYknXARXzYNbtqMCFgaCIFVfRhtm0l2zXjEaQ335mXqsl5CNhN1EvqOo6Ylj%2BrMdG7UTLPKYDSZP8HW%2B%2FTfJe2OokHkIYAMIY%2FoBhLFAqPid%2FJdTmlgN%2F8BDSzMgFGLjJQ05l4h1sKLt5Ew2feYdQxLzjcZywhJidx7C1vHzANuapYaeV3YogcBCUxku2Goq65OOgdcx9C1HGFSlY0R5HLrJUyJ0T2vkThof3OUVx8A%2BVInr2kcCxSDrMLmXGeAMlR0xxOjlzS%2BAwRbAke3UNbRNCwbIAFALbM4ei2009g6a%2FRh0apbIbCpgbltuzg69758GO4aMa7RWyfZsWoe8IsFQE0nhF9T4a4viKzSlPs8s0H052UUpRuQ1CBHaWHCqb0eOPPg7UuyAA4x6MaBJhFUlGL0qnhQ%2Fk6Y%2FnlR9GppCwfuUAvdIjwzqCEbg7mOFWXTMQM8GqmtvI7rbRc5m%2BHEDCroAFyysJ9A1iopq%2F5LW3sgVe........
いいね!
参考にしたのは公式の Tokens for authentication