Apigee API 사용 시작하기

Apigee API는 일련의 RESTful 작업으로 API를 프로그래매틱 방식으로 개발하고 관리하는 데 사용할 수 있습니다.

Apigee API를 사용하여 API 프록시 관리를 조직의 소프트웨어 개발 수명 주기(SDLC)에 통합할 수 있습니다. Apigee API은 API 프록시를 배포하는 스크립트나 코드를 작성하거나, 다른 애플리케이션을 배포하거나 마이그레이션하는 대규모 자동화 프로세스의 일환으로 API 프록시를 다른 환경으로 마이그레이션하는 스크립트나 코드를 작성하는 용도로 흔히 쓰입니다.

자세한 내용은 Apigee API를 참조하세요.

Apigee API 사용 설정

Apigee API가 사용 설정되었는지 확인합니다. 프로젝트에 API를 사용 설정하는 가장 간단한 방법은 Google Cloud Console을 사용하는 것입니다. 자세한 내용은 3단계: API 사용 설정을 참조하세요.

OAuth 2.0 액세스 토큰 가져오기

Apigee API는 사용자 인증을 위해 OAuth 2.0을 지원합니다. OAuth 2.0을 사용하면 Google Cloud 사용자 인증 정보를 액세스 토큰으로 교환하여 Apigee API를 안전하게 호출하는 데 사용할 수 있습니다. 토큰을 받으면 토큰이 만료될 때까지 사용자 인증 정보를 다시 교환할 필요가 없습니다.

OAuth 2.0 액세스 토큰을 가져오는 방법은 다음과 같습니다.

  1. 서비스 계정 키 생성 및 관리에 설명된 대로 GCP Console을 사용하여 서비스 계정의 키를 생성합니다.

    서비스 계정 사용자 인증 정보가 포함된 JSON 파일이 컴퓨터에 다운로드됩니다.

  2. Google Cloud 사용자 인증 정보를 사용하면 다음 방법 중 하나를 사용하여 OAuth 2.0 액세스 토큰을 가져오고 Apigee API로 호출을 전달할 수 있습니다.

    gcloud

    gcloud를 사용하여 OAuth 2.0 액세스 토큰을 가져오고 GOOGLE_APPLICATION_CREDENTIALS 환경 변수를 사용하여 1단계에서 다운로드한 서비스 계정 사용자 인증 정보 JSON 파일을 전달합니다. 자세한 내용은 gcloud beta auth application-default print-access-token을 참조하세요.

    export GOOGLE_APPLICATION_CREDENTIALS=~/sa-credentials-file.json
    gcloud auth application-default print-access-token

    oauth2l 유틸리티

    oauth2l를 사용하여 OAuth 2.0 액세스 토큰을 가져오고 1단계에서 다운로드한 서비스 계정 사용자 인증 정보 JSON 파일을 전달합니다.

    oauth2l fetch --json ~/sa-credentials-file.json cloud-platform

    OAuth2.0 토큰이 반환됩니다.

  3. 반환된 OAuth 2.0 토큰을 복사하여 TOKEN과 같은 변수에 저장합니다. 예를 들면 다음과 같습니다.
    export TOKEN=ya29....Ts13inj3LrqMJlztwygtM
  4. Apigee API를 호출할 때 승인 헤더에 OAuth 2.0 액세스 토큰을 전달합니다. 예를 들면 다음과 같습니다.
    curl "https://apigee.googleapis.com/v1/organizations/myorg/apis/myApiProxy" \
    -X GET \
    -H "Authorization: Bearer $TOKEN"

Apigee API 요청의 환경 변수 설정

문서 전반에 제공된 Apigee API 및 gcloud CLI 예시에서는 다음 표에 정의된 환경 변수를 하나 이상 사용합니다.

사용자 환경에서 의미 있는 값으로 환경 변수를 미리 설정하면 수정을 최소화하거나 하지 않고도 예시 요청을 복사하고 붙여넣어 자체 환경에서 실행할 수 있습니다.

환경 변수 설명
$API API 프록시의 이름
$APIPRODUCT API 제품의 이름
$APP 앱의 ID
$DEVELOPER_EMAIL 개발자의 이메일 주소
$ENV 환경의 이름(예: test 또는 prod)
$ID 리소스 ID
$KEY 고객 키
$NAME 리소스 이름
$ORG Apigee 조직
$REV API 프록시의 버전 번호
$SHAREDFLOW 공유 흐름의 이름
$TYPE 리소스 유형

curl 사용

이 섹션의 예시에서는 curl을 사용하여 Apigee API를 사용하는 애플리케이션을 개발하는 방법을 보여줍니다. curl은 URL 구문을 사용하여 데이터를 전송하기 위한 오픈소스 명령줄 도구이며 HTTP 및 HTTPS와 같은 일반적인 프로토콜을 지원합니다.

다음 표에는 예시에 사용된 curl 명령줄 옵션이 요약되어 있습니다.

옵션 설명
-d '{}' --data @filename
--data-binary @filename
직접 전달하거나 파일 이름을 지정하여 요청 본문을 정의합니다.
-F file=@filename
--form file=@filename
파일 이름을 지정하여 전달할 수 있는 양식 기반 데이터를 정의합니다.
-H
--header
요청 헤더를 정의합니다.

요청 헤더에 다음 정보를 전달해야 합니다.

  • Authorization 헤더: OAuth 2.0 액세스 토큰 가져오기에 설명된 대로 사용자 인증을 위한 OAuth 2.0 토큰입니다.
  • Content-Type 헤더: API를 사용하여 리소스(POST, PATCH, PUT)를 만들거나 업데이트할 때 전송되는 요청 본문의 콘텐츠 유형입니다.
-X 요청 유형(GET, POST 등)을 지정합니다.

예를 들면 다음과 같습니다.

curl "https://apigee.googleapis.com/v1/organizations/$ORG/apis" \
   -X GET \
   -H "Authorization: Bearer $TOKEN"

여기서 $TOKENOAuth 2.0 액세스 토큰 가져오기에 설명된 대로 OAuth 2.0 액세스 토큰으로 설정됩니다.