프로젝트 소개

이 저장소는 Google Discovery Service의 JSON 설명 파일에서 파생된 Google API용 자동 생성 Go 클라이언트 라이브러리를 제공합니다. 각 API는 자체적으로 import 가능한 패키지로 노출되므로 필요한 것만 가져올 수 있습니다. 예를 들어 google.golang.org/api/tasks/v1 또는 google.golang.org/api/urlshortener/v1을 사용한 뒤 NewService(ctx)로 서비스를 생성할 수 있습니다. 주요 특징: - 생성된 코드: 라이브러리는 Discovery 문서에서 생성기로 만들어지므로 릴리스 간에 호환성을 깨는 변경이 포함될 수 있으며, 생성기와 그 출력은 베타로 간주됩니다. - 지원 상태: Google의 공식 지원을 받지만, 라이브러리는 완성되었고 유지보수 모드에 있다고 설명됩니다. 즉 중요한 버그와 보안 문제는 해결되지만 새로운 기능은 추가되지 않습니다. - Cloud API: Datastore나 Pub/Sub 같은 Google Cloud Platform 서비스의 경우 README는 사용자에게 별도의 Cloud Client Libraries for Go를 대신 사용하도록 안내합니다. 권한 부여: - 기본적으로 서비스는 Google Application Default Credentials을 사용하므로 애플리케이션이 많은 환경에서 명시적 구성 없이 실행될 수 있습니다. - JSON 키 파일은 명시적 자격 증명 유형(예: ServiceAccount)과 함께 option.WithAuthCredentialsFile로 제공하거나, JSON 자격 증명을 option.WithAuthCredentialsJSON으로 직접 제공할 수 있습니다. - 이전의 option.WithCredentialsFile 및 option.WithCredentialsJSON 함수는 잠재적 보안 위험 때문에 더 이상 사용되지 않습니다. - 더 세밀한 제어를 위해 golang.org/x/oauth2의 oauth2.TokenSource를 option.WithTokenSource와 함께 전달할 수 있습니다. 문서 및 예제: - 더 긴 튜토리얼과 샘플 사용법을 위해 Getting Started 가이드와 examples 디렉터리가 참조됩니다. - 패키지 문서는 pkg.go.dev에서 확인할 수 있으며, 커뮤니티 지원은 golang-nuts 메일링 리스트로 안내됩니다. 이것은 최종 사용자 애플리케이션이 아니라 개발자 대상 SDK 모음이며, 그 가치는 Go 프로그램이 일관된 인증 패턴으로 다양한 Google API에 타입화된 접근을 제공한다는 데 있습니다.