Skip to content

nttcom/apigw-python-sdk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

8050939 · Nov 4, 2015

History

3 Commits
Nov 4, 2015
Nov 4, 2015
Nov 4, 2015
Nov 4, 2015
Nov 4, 2015
Nov 4, 2015
Nov 4, 2015
Nov 4, 2015
Nov 4, 2015
Nov 4, 2015
Nov 4, 2015
Nov 4, 2015
Nov 4, 2015
Nov 4, 2015

Repository files navigation

NTT Communications API SDK(python)

このライブラリは、NTT Communications APIsと対話的にアクセスするための簡易的なラッパーを提供します。 各APIの仕様については、デベロッパーポータルのドキュメントを参照ください。

セットアップ

pip での使用

$ pip install apigw

システム要件

  • Python 2.7.x
  • Python 3.4.x ※Python 2.7.9 および 3.4.3 で動作検証済

使い方

現在、クライアントは

  • OAuth API
  • Business Process API
  • APILog API
  • IAM API

の3つのAPIへのアクセスを提供します。

クライアントの生成

クライアントの生成時には、エンドポイントの情報を記載したJSON形式の設定ファイルへのパスを指定します。

from apigw.client import ApiGWClient

client = ApiGWClient(config_path = '/path/to/config.json', environment = 'development')

設定ファイル例:

{
  "development": {
    "host": "ホスト名"(e.g. 'https://api.ntt.com/'),
    "api_version": "APIバージョン"(e.g. 'v1'),
    "timeout": タイムアウト(ms),
    "verify_ssl": SSL証明書の検証を行うか(true / false),
    "debuggable": デバッグ情報を表示するか(true / false)
  }
}

※ host と api_version は必須となります。

アクセストークンの取得

デベロッパーポータル にて払い出されたコンシューマーキーとシークレットキーを指定します。

response = client.oauth('コンシューマーキー', 'シークレットキー').request_access_token()
access_token = response.json().get('accessToken')

全てのAPIのレスポンスは requests.Response オブジェクトで返却されます。 レスポンスのJSONは Response#json() メソッドよりdict形式にパースされたものが取得できます。 各APIのレスポンス仕様については、デベロッパーポータルのドキュメントを参照ください。

Business Process API

OAuth API にて取得したアクセストークンとAPIパス、サービス名称を指定します。

response = client.business_process('アクセストークン').get('contracts', 'サービス名称')
items = response.json().get('items')

情報の参照には apigw.business_process.BusinessProcess#get(...) を、各種オーダには apigw.business_process.BusinessProcess#post(...) を利用します。

APILog API

OAuth API にて取得したアクセストークンと利用履歴の対象日を指定します。

response = client.api_log('アクセストークン').get('日付(YYYYMMDD)')
records = response.json().get('Records')

その他API

exampleファイルを参考にしてください。

ApiBase の継承について

新しいAPIに対応したクラスを作成する場合は、apigw.api_base.ApiBaseのサブクラスを実装します。 以下のドキュメント及び apigw.business_process.BusinessProcessapigw.api_log.ApiLog を参考に実装してください。

実装が必要なクラスメソッド

api_name()

APIの名称を返すメソッドです。

https://api.ntt.com/v1/xxxxxx/yyyyyyxxxxxx の部分を返します。 例えば BusinessProcess では business-processApiLog では apilog を返すよう実装されています。

api_name をオーバーライドしないと NotImplementedError が発生します。

require_authorization()

このAPIに認証(アクセストークン)が必要かを返します。デフォルトでは False です。

Trueを返すようにすると、リクエストヘッダーに Authorization を自動で付加するようになります。

リクエスト時に使用するインスタンスメソッド

XXX_request(path, **kwargs)

get_request, post_request, put_request, delete_request, options_request の5つが定義されています。 それぞれ GET, POST, PUT, DELETE, OPTIONS のリクエストを実行し、結果を返します。

pathhttps://api.ntt.com/v1/xxxxxx/yyyyyyyyyyyy の部分を渡します。 yyyyyy に相当するパスがないAPIの場合、 None を指定します。

ライセンス

Copyright © 2015 NTT Communications
Apache License, Version 2.0

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages