EN JP CN

API 要求の書式

API 要求の書式
このトピックの内容:

Curl を例に、API 要求の書式を以下に示します。

  curl --data "action=<action>&user=<username>&<parameters>[&ltoken=<auth_token>]" http(s)://<server>:<port>/codereview/api  

フィールド

  • <action> はサポートされているアクションの 1 つです。詳細については、API リファレンスページを参照してください (http://<klocwork_server_host>:<klocwork_server_port>/codereview/api)
  • <username> はユーザー名です (すべての要求に必要)
  • <project> は Klocwork サーバーのプロジェクトの名前です
  • <parameters> はアクションのオプションです。詳細については、以下のを参照してください。
  • <auth_token> は ltoken の認証トークンです。詳細は、次の認証のセクションを参照してください。

注意:コンテンツのタイプが正しく設定されていれば、API では国際化が完全にサポートされます。curl の add-header command-line オプションを使用して文字セットを UTF-8 に設定します。たとえば、次のようになります。

curl --data "action=search&user=myself&query=アクション" -H "Content-Type: application/x-www-form-urlencoded;charset=UTF-8" <nowiki>http://localhost:8080/codereview/api

認証

Klocwork サーバーに関連するその他の操作と同様に、API 要求には認証が必要になります。アクセス制御の方法が定義されていない場合、必要事項はユーザー名だけで、どのようなユーザー名でもかまいません。一方、アクセス制御を使用している場合は、ユーザー名と認証トークンを入力する必要があります。

認証トークンは Kwauth とKlocwork クライアントアプリケーションによって、ユーザーのホームディレクトリ内の特別なファイルに保存されています。ltoken という名前のこのファイルは次の場所にあります。

  • Windows Vista と Windows 7: C:\Users\<user_name>\.klocwork\ltoken
  • Windows XP:C:\Documents and Settings\<user_name>\.klocwork\ltoken
  • Unix:~/.klocwork/ltoken
  • Mac:~/.klocwork/ltoken

.klocwork ディレクトリに ltoken ファイルがない場合は、kwauth を実行してこのファイルを生成してください。

ltoken ファイルには 1 つまたは複数のテキスト行が含まれ、それぞれにセミコロンで区切られた 4 つの情報が含まれています。

<server>;<port>;<user_name>;<token>

4 番目の情報を API 要求の認証トークンとして使用してください。たとえば、デフォルトポート 8080 で server1 にアクセスするユーザー bsmith の ltoken ファイルは、次のようになります。

server1;8080;bsmith;8244b24fbc50aa75e6f7c882d190616d577914501802ead4009a3e501df79350

結果として生じる curl 要求は次のようになります。

curl --data "action=projects&user=bsmith&ltoken=8244b24fbc50aa75e6f7c882d190616d577914501802ead4009a3e501df79350" http://server1:8080/codereview/api 

API にアクセスするスクリプトは、ltoken ファイルを読み取り、適切な認証トークンを抽出して、その API 要求に付加する必要があります。API アプリケーションは ltoken ファイルに書き込んではなりません。代わりに、kwauth を使用して ltoken ファイルにデータを自動入力します。