目次


非開発者向け Watson API 使用ガイド

Comments

概要

原文の著者: Leo Kenji
スキル・レベル: 初心者
このレシピでは、プログラミング言語を使用せずに Watson REST 呼び出しを行う方法を示します。

前提条件

Firefox

REST Client Firefox プラグイン

IBM Cloud アカウント

ステップバイステップ

1

IBM Cloud に Watson API のプロビジョンを要求する

次のリンクから IBM Cloud にログインします。

https://new-console.ng.bluemix.net

「カタログ」セクションに進み、必要な Watson API を選択します。Alchemy API を除き、どの Watson API にも便利な REST API が用意されています。これは、どのブラウザーでも実行できるシンプルな HTTP 要求で使用できることを意味します。このレシピでは、Firefox と、REST Client Firefox プラグインを使用します。

ここでは、Watson Translator サービス (Language Translation サービスではなく) を使用すると仮定し、このサービスをクリックします。

右下隅の「作成」をクリックします。

次に「サービス資格情報」をクリックし、最初の項目を選択して、「資格情報の表示」をクリックします。

ユーザー名 (username) とパスワード (password) をメモしておきます。これらの情報は後で必要になります。

2

Firefox を起動して REST Client をインストールする

https://addons.mozilla.org/ja-JP/firefox/addon/restclient/ を開き、「Add to Firefox」をクリックします。

Firefox の右上隅に小さな茶色のボタンが追加されます。

このボタンをクリックしてプラグインのウィンドウを開きます。

これで Firefox 上で REST API を使用する準備ができました。

Translator サービスを呼び出す前に、次のステップで IBM Cloud API の資料を見てみます。

3

IBM Cloud API 資料の検索

開発者でないユーザーにとって API 資料は難解に感じられるかもしれませんが、ご安心ください。見た目は難しそうですが、実はシンプルです。

最初に、API 資料の場所を確認しましょう。

IBM Cloud 画面に戻り、「管理」をクリックすると、いくつかの情報、デモ (ある場合)、資料へのリンクを含む API ページが表示されます。

「資料 (Documentation)」をクリックし、左側で「API リファレンス (API Reference)」を見つけます。

ここで API の内容を参照できます。

それでは、「翻訳」機能の詳細について見ていきましょう。「Methods」の項目が見つかるまでスクロールします。

次のステップでは、この情報について詳しく説明します。

4

IBM Cloud API 資料を読む

API は基本的にコマンドのセットです。各コマンドには入力 (要求) と出力 (応答) が含まれます。

呼び出すコマンドについて知っていなければならないことは、次のとおりです。

  • API のベース URL
  • メソッド (GET、POST、PUT など)
  • 認証
  • パラメーター

それでは、この情報を API ページで見つけましょう。このコマンドの場合、使用できるメソッドとして GET と POST の 2 つがあります。GET は短いテキストに対して有効であり、POST は短いテキストと長いテキストの両方に有効です。ここでは POST を使用します。

認証は、コマンドの呼び出しに必要なユーザー名とパスワードです。

資料の中にある次のサンプルを見てみます。

curl -u “{username}”:”{password}”
-X POST
-F “text=Hello World”
-F “source=en”
-F “target=es”
“https://gateway.watsonplatform.net/language-translator/api/v2/translate”

「{username}」と「{password}」は、サービスの資格情報を確認したときにメモしたものと同じ値です。

次のような資格情報だったとします。

“credentials”: {
“url”: “https://gateway.watsonplatform.net/language-translator/api”,
“password”: “sD50jvxxxxJh8”,
“username”: “85e5dc0e-xxxx-4f2d-xxxx-66b0871da98f”
}

この場合、使用する CURL コマンドは、次のようになります。

curl -u “85e5dc0e-xxxx-4f2d-xxxx-66b0871da98f”:”sD50jvxxxxJh8″
-X POST
-F “text=Hello World”
-F “source=en”
-F “target=es”
“https://gateway.watsonplatform.net/language-translator/api/v2/translate”

次に、パラメーターについて見ていきます。このコマンドで使用するパラメーターは「text」、「source」、「target」です。ここで必須なのは「text」だけになります。

最後に、API のベース URL は資格情報の中に記載されています。

“credentials”: {
“url”: “https://gateway.watsonplatform.net/language-translator/api”,
“password”: “sD50jvxxxxJh8”,
“username”: “85e5dc0e-xxxx-4f2d-xxxx-66b0871da98f”
}

POST メソッドを使用しているため、次のようになります。

POST /v2/translate

ここで使用する API メソッド呼び出しがどのようになっているか、簡単に確認できます。

https://gateway.watsonplatform.net/language-translator/api/v2/translate

これで必要なものがすべて揃いましたので、これらを Firefox プラグインで実行してみましょう。

5

REST Client の使用

最初に、認証情報を追加する必要があります。IBM Cloud では基本認証を使用します。

ユーザー名とパスワードを入力して、保存します。

次に、パラメーターを追加します。

ここで小ワザを使用します。パラメーターは URL またはコンテンツ・テキスト・ボックスで直接送信できます。

次のように、短いパラメーターは URL で送信し、翻訳対象のテキストはテキスト・ボックスで送信することにします。

その前に、本文の上にある「Content-Type」というのは、何でしょうか。

API の CURL コマンドを覚えていますか。

curl -u “{username}”:”{password}”
-X POST
-F “text=Hello World”
-F “source=en”
-F “target=es”
“https://gateway.watsonplatform.net/language-translator/api/v2/translate”

この -X というのは、特殊な content-type を送信することをサービスに伝えるために別のパラメーターを設定する必要があるということを意味しています。これを「ヘッダー (Headers)」セクションで設定します。

「カスタム・ヘッダー (Custom Header)」をクリックして、次のように設定する必要があります。

実際、このヘッダーを指定しないと、 IBM Cloud から、このコマンドが予期するコンテンツ・タイプの種類を示すエラー・メッセージが出されます。

それでは実際に試してみましょう。

メソッドを POST に設定して「送信 (SEND)」を押します。

6

結果の解釈

正常に処理されると、次のような実行結果 (応答) が取得されます。

ところで、赤字になっています。これは問題があることを示しているのでしょうか。

違います。状況コードは 200 OK とあり、これは処理が「すべて正常」に行われたことを示す HTTP コードです。

要求と応答の両方にヘッダーと本文が含まれているため、結果が表示されていません。

探している回答は、「応答本文 (未加工) (Response Body (raw))」セクションにあります。

7

まとめ

もちろん、これらの API から必要な情報を抽出するためには、多少のプログラミング・スキルが必要であることは確かです。また、これらの API を使用する (例えばこのケースでは、Content-Type が何を予期しているか理解する) ためには 、読者が多少のプログラミング・スキルを持っていることが前提であることも確かです。

ご質問がある場合は、このレシピに書き込むか、

Stack Overflow まで

http://stackoverflow.com/

または DW Answers まで

https://developer.ibm.com/answers/

お送りください。IBM Cloud Red-Node もお試しください。

https://console.ng.bluemix.net/docs/starters/Node-RED/nodered.html#nodered


ダウンロード可能なリソース


コメント

コメントを登録するにはサインインあるいは登録してください。

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Cloud computing
ArticleID=1055005
ArticleTitle=非開発者向け Watson API 使用ガイド
publish-date=12212017