使用 curl

您目前查看的是 Apigee Edge 說明文件。
前往 Apigee X 說明文件
info

acurl(1) 公用程式提供標準 curl 指令的便利包裝函式。acurl

  • 將 Apigee 憑證換成 OAuth2 存取權杖。
  • 偵測存取權杖何時過期,並使用更新權杖取得新的存取權杖。
  • 在 API 要求的 Authorization 標頭中傳遞該權杖。

您可以使用存取權杖,透過 OAuth2 呼叫 Edge API 端點,包括 LDAP 和 SAML 工作流程。

如果您使用 OAuth2 存取 Edge API,但未使用 acurl,則必須自行取得存取權杖,並將其新增至 API 要求的標頭。如要取得存取權杖,其中一種方法是使用 get_token 公用程式。

安裝 acurl

您必須先安裝 acurl,才能使用這項功能。

acurl 語法

acurl 公用程式使用下列語法:

acurl API_URL -u USERNAME:PASSWORD [-m MFACODE]

acurl API_URL -p PASSCODE

其中:

選項 是否必要? 說明
API_URL 必要 Apigee Edge API 端點。如需完整的端點清單,請參閱 Apigee Edge API 參考資料
USERNAME (選用) 必須輸入使用者名稱和密碼,或使用密碼。 Apigee 使用者名稱,通常是與 Apigee 帳戶相關聯的電子郵件地址。 首次撥打 get_token 時,您必須輸入使用者名稱或密碼。 存取和重新整理權杖過期前,您不必再次傳遞電子郵件地址。如果您要為多位使用者快取權杖,則必須在每次呼叫時指定使用者名稱。
PASSWORD (選用) 必須輸入使用者名稱和密碼,或使用密碼。 Apigee 帳戶的密碼。如果省略密碼,系統會在您首次使用 acurl 時,以及後續任何沒有有效更新權杖的呼叫中,提示您輸入密碼。如果您不想直接在指令中使用密碼,可以改用一次性代碼密碼。
MFACODE 選用 六位數的臨時多重驗證 (MFA) 碼。如果您使用 -u 並已啟用多重驗證,就必須提供這個代碼。 如果省略,系統會提示您輸入 (除非處於密碼模式)。如果未啟用多重驗證,或使用指令碼流程,可以指定 -m "" 來避免提示。
PASSCODE (選用) 必須輸入使用者名稱和密碼,或使用密碼。 動態密碼可取代密碼。使用 SAML IDP 驗證時必須輸入密碼,使用 LDAP IDP 驗證時則可輸入密碼。

例如:

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 也接受所有 curl 選項。舉例來說,您可以使用標準 curl 選項傳遞標頭、指定 HTTP 動詞、新增主體,以及啟用詳細程度:

選項 acurl meaning curl meaning
-u username username
-m MFA code max time (必須使用長格式 --max-time)
-p passcode proxy tunnel (必須使用長格式 --proxytunnel)
-v verbose verbose
-h help help (必須使用長格式 --help)
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 後,系統會根據您呼叫的 Edge API 端點傳回結果。此外,acurl會將存取和更新權杖儲存在 ~/.sso-cli 中。

在存取權杖和更新權杖都過期之前,您都可以繼續撥打電話,不必輸入憑證 (密碼和選用的多重驗證,或密碼),詳情請參閱「權杖到期」一文。

從 curl 遷移

如果您使用 curl,遷移至 acurl 公用程式的過程很簡單,而且不需要手動編碼憑證。下載並安裝公用程式後,即可取代:

curl -u username
with:
acurl -u username

acurl 公用程式會編碼您的憑證,並視情況提示您提供其他憑證,以取得新的權杖配對。

您也可以使用 acurl 公用程式取代電腦使用者的 curl。詳情請參閱「機器使用者的 OAuth2」和「SAML 區域中的機器使用者」。

首次呼叫 acurl

首次使用 acurl 呼叫 API 時,請提供 Apigee 憑證 (Apigee 帳戶的使用者名稱和密碼,或密碼),以便 acurl 將這些憑證換成存取權杖和重新整理權杖。

以下範例顯示使用 acurl 的初始呼叫,透過 Get organization 端點取得機構詳細資料:

acurl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval \
  -u ahamilton@apigee.com
Enter the password for user 'ahamilton@apigee.com':
[hidden input]
Enter the six-digit code (no spaces) if 'ahamilton@apigee.com' is MFA-enabled or press ENTER:
1a2b3c
{
  "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 公用程式會取得存取權杖,並插入對 Edge API 端點的呼叫:

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

存取權杖會儲存在本機的 ~/.sso-cli 中,並用於後續呼叫。

存取權杖過期後,acurl 會自動使用更新權杖取得新的存取權杖。更新權杖到期時,acurl 會提示您輸入 Apigee 憑證。

這項要求會取得「ahamilton-eval」機構的詳細資料。如需 Edge API 端點的完整清單,請參閱 Apigee Edge API 參考資料


(1) 版權所有 2023 Google LLC
我們提供的 acurl 工具是「軟體」,遵循使用 Google Cloud Platform 相關的管理協議,包含以下《服務專屬條款》:https://cloud.google.com/terms/service-terms