ユーザー認証は弊社のサンドボックスシステム(http://api-sandbox.oanda.com)では無効となっています。 ユーザー認証に必要な情報、セッショントークン、OAuthなどを気にする必要はありません。 必要なリクエストを実行し、APIを自由にご利用ください。
貴方のライブアカウントにアクセスするには、ユーザ認証が必要です。 アプリケーション開発者はOAuth 2.0フローが必要であり, パーソナルトレーダーはパーソナルアクセストークンをリクエストできます。
OANDA Open APIに貴方のアカウントを通じてアクセスするためにはパーソナルアクセストークンが必要です。 一度作成されると、トークンは貴方の全てのサブアカウントへのアクセスを可能にします。 貴方のパーソナルアクセストークンはパスワードのようなものですので、注意深く保管してください。 これらのトークンはOANDAのアカウント独自のもので、安全に保管することが重要です。
貴方のOANDA fxTradeアカウントプロファイルページには”Manage API Access”というタイトルのリンクがあります(My Account -> My Services -> Manage API Access)。 こちらからOANDA Open APIを利用するためのパーソナルアクセストークンを新規に作成したり、既存のトークンを無効にすることができます。
貴方のトークンを作成後、安全な場所に保管してください。 弊社は貴方のトークンを保管していませんので、もしトークンを紛失か保管場所を失念してしまった場合は、APIを継続して利用するために、そのトークンを無効化し、新しいトークンを作成する必要があります。
トークンを使用してAPIリソースにアクセスするためには、HTTPのAuthorizationヘッダにトークンをBearer Tokenとして設定する必要があります。例えば:
curl -H "Authorization: Bearer 12345678900987654321-abc34135acde13f13530"
https://api-fxpractice.oanda.com/v1/accounts
弊社はOANDAユーザーがウェブベースのサードパーティアプリケーションを通じてOANDA APIにアクセスすることをサポートしています。 OANDAのAPIはOAuth 2.0 プロトコルを利用してこの機能を提供しています。 サーバーサイドフローを完了して必要なアクセストークンを取得することはサードパーティアプリケーションの責任となります。
取得後は、アプリケーションはアクセストークンをパーソナルアクセストークンの使用と同じ方法で使用することができます。
アプリケーションをOANDAに登録するためにはapi@oanda.comにご連絡ください。 電子メールの本文に貴方のアプリケーションをOANDA APIに登録したいと明記した上で以下の情報をご提示ください:
全ての必要な情報がOANDAに受理され承認された時点で、以下の情報が提供されます。
クライアントアプリケーションシークレットはパスワードとして取扱い、安全な場所に保管してください。
*注意:OANDAは貴方のアプリケーションが受理されることを保証はいたしません。 全てのアプリケーションは弊社の調査レビューの対象となります。 もし貴方のアプリケーションがOANDAに受理された場合は、OANDAの諸条件に従う義務があることをご理解ください。
アクセストークンを取得するには3つの段階があります。
リクエストのサブドメインはどの環境に対してのアクセストークンを貴方が希望するかにより異なります。
環境 | サブドメイン |
---|---|
fxTrade Practice | api-fxpractice.oanda.com |
fxTrade | api-fxtrade.oanda.com |
GET /v1/oauth2/authorize
https://api-fxpractice.oanda.com/v1/oauth2/authorize?client_id=CLIENT_ID&redirect_uri=https://oanda-oauth-example.com/acceptcode&state=STATE_TOKEN&response_type=code&scope=read+trade+marketdata+stream
もしユーザーが貴方のアプリケーションによるアクセスを許可した場合、ユーザーはredirect_uri
に以下のパラメーターを付与された上でリダイレクトされます。
authorization code
。 https://oanda-oauth-example.com/acceptcode?state=STATE_TOKEN&code=AUTH_CODE
もし貴方の認証リクエストがユーザーによって拒否された場合、ユーザーはredirect_uri
に以下のパラメータと共にリダイレクトされます。
https://oanda-oauth-example.com/acceptcode?state=STATE_TOKEN&error=access_denied&error_description=user_denied_access
OANDAの /v1/oauth2/access_token エンドポイントに対してリクエストボディに必要なパラメーターを付与した上で、HTTPS POSTリクエストを行ってください。
POST /v1/oauth2/access_token
client_id=<client_application_id> \
client_secret=<client_application_secret> \
grant_type=authorization_code \
redirect_uri=<redirect_uri> \
code=<authorization_code> \
authorization code
。curl -X POST "https://api-fxpractice.oanda.com/v1/oauth2/access_token" -d "client_id=CLIENT_ID&client_secret=CLIENT_SECRET&grant_type=authorization_code&code=AUTH_CODE&redirect_uri=https://oanda-oauth-example.com/acceptcode"
{ "access_token": "ACCESS-TOKEN", "token_type": "Bearer", "expires_in": 0 }
アクセストークンを取得するには2つの段階があります。
GET /v1/oauth2/authorize
#####リクエストクエリパラメータ
https://api-fxtrade.oanda.com/v1/oauth2/authorize?client_id=CLIENT_ID&redirect_uri=https://oanda-oauth-example.com/acceptcode&state=STATE_TOKEN&response_type=token&scope=read+trade+marketdata+stream
もしユーザーが貴方のアプリケーションによるアクセスを許可した場合、ユーザーはredirect_uri
に以下のパラメーターを付与された上でリダイレクトされます。
https://oanda-oauth-example.com/acceptcode#state=STATE_TOKEN&access_token=ACCESS-TOKEN&expires_in=604800&token_type=BEARER
もしユーザーが貴方のアプリケーションによるアクセスを拒否した場合、OANDAはユーザーをredirect_uri
に以下のパラメーターを付与された上でリダイレクトします。
https://oanda-oauth-example.com/acceptcode#state=STATE_TOKEN&error=access_denied&error_description=user_denied_access
以下の表に全ての可能なパーミッションのリストとそれぞれのパーミッション可能にするアクセスのタイプを記述しています。 各パーミッションは小文字であることに留意ください。
パーミッション | 詳細 |
---|---|
read | このパーミッションはユーザーのアカウントの情報と取引履歴を取得することを可能にします。 |
trade | このパーミッションはユーザーのアカウントを通じて取引を行うことを可能にします。 |
marketdata | このパーミッションはユーザーのアカウントに関連した為替レートを取得することを可能にします。 |
stream | このパーミッションはユーザーのアカウントに関連したストリームにアクセスすることを可能にします。 |