使用 curl

您正在查看 Apigee Edge 說明文件。
查看 Apigee X 說明文件
資訊

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 並啟用 MFA,就必須提供這個代碼。如不使用密碼模式,系統會出現提示 (除非是在密碼模式下使用)。如果您並未啟用 MFA 或已編寫指令碼,則可指定 -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 選項。例如,您可以傳遞標頭、指定 HTTP 動詞、新增主體,以及使用標準 curl 選項啟用詳細程度:

選項 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
替換為:
acurl -u username

acurl 公用程式會編碼您的憑證,並有時會提示您提供取得新的權杖組合所需的其他憑證。

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

第一次呼叫 acurl

首次使用 acurl 呼叫 API 時,您必須提供 Apigee 憑證 (Apigee 帳戶的使用者名稱和密碼,或是密碼),讓 acurl 交換存取權杖及更新權杖。

以下範例顯示使用 acurl 進行初始呼叫,以便使用 取得機構 端點取得機構相關詳細資料:

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) Copyright 2023 Google LLC
acurl 工具是依據規範使用 Google Cloud Platform 之協議的「軟體」提供,包括 https://cloud.google.com/terms/service-terms 的《服務專屬條款》。