OAuth 사용

Roads Selection API는 Roads Selection API를 핵심 구성요소로 사용하여 BigQuery 및 Pub/Sub에 도로 데이터를 제공합니다.

Roads Selection API는 인증에 OAuth 2.0 사용을 지원합니다. Google은 웹 서버와 같은 일반적인 OAuth 2.0 시나리오를 지원합니다.

이 문서에서는 개발 환경에서 Roads Selection API 호출에 OAuth 토큰을 전달하는 방법을 설명합니다. 프로덕션 환경에서 OAuth를 사용하는 방법에 대한 자세한 내용은 Google에서 인증을 참조하세요.

시작하기 전에

Roads Selection API를 사용하려면 결제 계정이 있고 Roads Selection API가 사용 설정된 프로젝트가 필요합니다. 자세한 내용은 Cloud 콘솔에서 설정하기를 참조하세요.

OAuth 정보

배포 환경에 따라 여러 가지 방법으로 OAuth를 사용하여 액세스 토큰을 만들고 관리할 수 있습니다.

예를 들어 Google OAuth 2.0 시스템은 애플리케이션과 Google 서비스 간의 상호작용과 같은 서버 간 상호작용을 지원합니다. 이 시나리오에서는 개별 사용자가 아닌 애플리케이션에 속한 계정인 서비스 계정이 있어야 합니다. 사용자가 직접 관여하지 않으므로 애플리케이션이 서비스 계정을 대신하여 Google API를 호출합니다. 인증 방법에 대한 자세한 내용은 Google에서 인증을 참조하세요.

또는 Roads Selection API를 Android 또는 iOS 모바일 앱의 일부로 사용할 수 있습니다. Roads Selection API에서 OAuth를 사용하는 방법에 대한 자세한 내용(다양한 배포 환경의 액세스 토큰 관리에 대한 정보 포함)은 OAuth 2.0을 사용하여 Google API에 액세스를 참고하세요.

OAuth 범위에 대한 정보

Roads Selection API에서 OAuth를 사용하려면 OAuth 토큰에 https://www.googleapis.com/auth/cloud-platform 범위가 있어야 합니다.

예시: 로컬 개발 환경에서 REST API 호출 사용해 보기

OAuth 토큰을 사용하여 Roads Selection API를 사용해 보고 싶지만 토큰을 생성하도록 설정된 환경이 없는 경우 이 섹션의 절차에 따라 요청을 수행하세요.

이 예시에서는 애플리케이션 기본 사용자 인증 정보 (ADC)에서 제공하는 OAuth 토큰을 사용하여 호출하는 방법을 설명합니다. ADC를 사용하고 클라이언트 라이브러리를 사용하여 Google API를 호출하는 방법은 클라이언트를 사용하여 인증을 참조하세요.

기본 요건

ADC를 사용하여 REST 요청을 수행하려면 먼저 Google Cloud CLI를 사용하여 ADC에 사용자 인증 정보를 제공해야 합니다.

  1. 아직 프로젝트를 만들지 않았다면 Cloud 콘솔에서 설정의 단계에 따라 프로젝트를 만들고 결제를 사용 설정합니다.
  2. gcloud CLI를 설치하고 초기화합니다.
  3. 사용자 인증 정보 파일을 만들려면 로컬 머신에서 gcloud 명령어를 실행합니다.

    gcloud auth application-default login
  4. 메시지가 표시되면 로그인합니다. 로그인하면 사용자 인증 정보는 ADC에서 사용하는 로컬 사용자 인증 정보 파일에 저장됩니다.

자세한 내용은 애플리케이션 기본 사용자 인증 정보에 사용자 인증 정보 제공 문서의 로컬 개발 환경 섹션을 참조하세요.

REST 요청 수행

이 예시에서는 두 개의 요청 헤더를 전달합니다.

  • 다음 명령어를 사용하여 토큰을 생성하여 Authorization 헤더에 OAuth 토큰을 전달합니다.

    gcloud auth application-default print-access-token

    반환된 토큰의 범위는 https://www.googleapis.com/auth/cloud-platform입니다.

  • X-Goog-User-Project 헤더에서 결제가 사용 설정된 Google Cloud 프로젝트의 ID 또는 이름을 전달합니다. 자세한 내용은 Cloud 콘솔에서 설정하기를 참고하세요.

OAuth 토큰을 사용하여 Roads Selection API를 호출합니다.

curl -X GET \
-H 'X-Goog-User-Project: PROJECT_NUMBER' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
https://roads.googleapis.com/selection/v1/projects/PROJECT_NUMBER/selectedRoutes/SELECTED_ROUTE_ID

문제 해결

요청이 이 API에서 지원되지 않는 최종 사용자 인증 정보에 대한 오류 메시지를 반환하는 경우 사용자 인증 정보가 작동하지 않음을 참조하세요.