acurl の使用

acurl ユーティリティには、標準的な curl コマンドの周辺にコンビニエンス ラッパーが用意されています。acurl は次のような動作を行います。

  • OAuth2 アクセス トークンの Apigee 認証情報を交換します
  • そのトークンを API リクエストの Authorization ヘッダーに渡します
  • アクセス トークンが期限切れになったことを検出し、更新トークンを送信します

アクセス トークンを使用して、OAuth または SAML ワークフローと一緒に Management API を呼び出します。

前提条件: acurl を使用する前にインストールする必要があります。

acurl ではなく OAuth2 を使用して Management API にアクセスする場合は、アクセス トークンを取得し、API リクエストのヘッダーに追加する必要があります。アクセス トークンを取得する方法の 1 つは、get_token ユーティリティを使用することです。

acurl 構文

acurl ユーティリティは、次の構文を使用します。

acurl management_API_endpoint -u email_address[:password] [-p passcode] [-m mfa_code]

各パラメータの説明は次のとおりです。

オプション 要否 説明
management_API_endpoint 必須 Management API エンドポイント。エンドポイントの一覧については、Apigee Management API リファレンスをご覧ください。
email_address 必須(初回のみ) Apigee アカウントに関連付けられているメールアドレス。最初に acurl を呼び出す際に、メールアドレスを渡す必要があります。以降の呼び出しでは、アクセス トークンによって認証されます。アクセス トークンと更新トークンが期限切れになるまで、再度メールアドレスを渡す必要はありません。
password 省略可 Apigee アカウントのパスワード。このパスワードを省略すると、最初の acurl 呼び出しのときにパスワードの入力を求められます。コマンドで直接パスワードを使用したくない場合は、パスワードの代わりに 1 つのワンタイム パスコードを使用できます。
passcode 省略可 ワンタイム パスコードは、パスワードの代わりに使用できます。
mfa_code 省略可 多要素認証(MFA)を有効にしている場合、acurl に渡す必要がある一時的なコード。MFA を有効にしていない場合は、このオプションを省略できます。

例:

acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval
    acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval -u ahamilton@apigee.com
    acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval -u ahamilton@apigee.com -p 424242
    acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval -u ahamilton@apigee.com:mypassw0rd
    acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval -u ahamilton@apigee.com:mypassw0rd -m 123456
acurl -v -X POST -H 'Content-Type: application/json' \
        https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval/apiproducts/myproduct/attributes/attr \
        -u ahamilton@apigee.com -d '{"value":42}'

acurl 呼び出しが成功すると、呼び出した Management API エンドポイントに基づいて結果が返されます。さらに、acurl~/.sso-cli にアクセス トークンと更新トークンの両方を格納します。

トークンの有効期限で説明されているように、アクセス トークンと更新トークンの両方の有効期限が切れるまで、パスワードを入力せずに引き続き呼び出しできます。

acurl の最初の呼び出し

acurl を最初に呼び出すとき、acurl がアクセス トークンと更新トークンを交換できるように、Apigee の認証情報(Apigee アカウントに関連付けられたメールアドレスとパスワード)を入力する必要があります。更新トークンが期限切れになるまで、再度 Apigee 認証情報を使用する必要はありません。

次の例は、Get Organization のエンドポイントを使用する組織に関する詳細を取得する acurl に対する、最初の呼び出しを示しています。

acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval \
      -u ahamilton@apigee.com
    Enter the password for user 'ahamilton@apigee.com
    mypassw0rd
    {
      "createdAt" : 1491854501264,
      "createdBy" : "noreply_iops@apigee.com",
      "displayName" : "ahamilton",
      "environments" : [ "prod", "test" ],
      "lastModifiedAt" : 1491854501264,
      "lastModifiedBy" : "noreply_iops@apigee.com",
      "name" : "ahamilton",
      "properties" : {
        "property" : [ {
          "name" : "features.isSmbOrganization",
          "value" : "false"
        }, {
          "name" : "features.isCpsEnabled",
          "value" : "true"
        } ]
      },
      "type" : "trial"
    }

acurl ユーティリティはアクセス トークンを取得し、Management API エンドポイントへの呼び出しに挿入します。

curl -H "Authorization: Bearer oauth2_access_token" ...

acurl は、アクセス トークンを ~/.sso-cli にローカルに格納し、以降の呼び出しに使用します。

アクセス トークンが期限切れになると、acurl は自動的に更新トークンを使用して新しいアクセス トークンを取得します。更新トークンが期限切れになると、acurl が失敗し、Apigee 認証情報の入力が求められます。

このリクエストでは、「ahamilton-eval」組織に関する詳細が返されます。管理 API エンドポイントの一覧については、Apigee Management API リファレンスをご覧ください。