경고: 이 페이지는 Google의 이전 API인 Google Data API에 관한 내용이며, Google Data API 디렉터리에 나열된 API에만 관련이 있습니다. 이 API 중 상당수는 최신 API로 대체되었습니다. 특정 새 API에 관한 자세한 내용은 새 API의 문서를 참고하세요. 최신 API로 요청을 승인하는 방법에 대한 자세한 내용은 Google 계정 인증 및 승인을 참고하세요.
서드 파티 애플리케이션은 특정 유형의 활동을 위해 사용자의 Google 계정에 대한 제한된 액세스 권한이 필요한 경우가 많습니다. 사용자 데이터가 악용되지 않도록 하려면 모든 액세스 요청이 계정 소유자의 승인을 받아야 합니다. 액세스 제어에는 인증과 승인의 두 가지 구성요소가 있습니다.
인증 서비스를 사용하면 사용자가 Google 계정을 사용하여 애플리케이션에 로그인할 수 있습니다.
승인 서비스를 사용하면 사용자가 Google 애플리케이션에 저장한 데이터에 대한 액세스 권한을 애플리케이션에 제공할 수 있습니다. Google은 개인 정보 보호를 중요하게 생각하며 사용자 데이터에 액세스해야 하는 애플리케이션은 사용자의 승인을 받아야 합니다.
인증 및 승인 서비스는 종종 인증이라고 통칭합니다.
Google API의 인증 및 승인을 통해 서드 파티 애플리케이션은 특정 유형의 활동에 대해 사용자의 Google 계정에 대한 제한된 액세스 권한을 얻을 수 있습니다. 이 문서에서는 사용 가능한 인증 메커니즘을 소개하고 각 메커니즘이 애플리케이션에 제공하는 기능을 설명합니다.
- Google 로그인을 사용하면 사용자가 Google 사용자 인증 정보를 사용하여 사이트에 로그인할 수 있습니다. 여기에는 다양한 기기에서 쉽게 통합할 수 있는 도구 세트가 포함되어 있습니다.
- OAuth 2.0은 모든 Google API의 승인 프로토콜입니다. OAuth 2.0은 애플리케이션에 암호화 서명을 직접 요구하지 않고 보안에 SSL을 사용합니다. 이 프로토콜을 사용하면 애플리케이션에서 사용자의 Google 계정과 연결된 데이터에 대한 액세스를 요청할 수 있습니다.
- OAuth 2.0으로 로그인 (OpenID Connect)은 사용자가 Google 계정으로 로그인하도록 하여 사용자를 인증합니다. 이는 OpenID를 대체하는 기능이며 OpenID 사용자는 OAuth 2.0으로 로그인으로 이전해야 합니다.
애플리케이션이 가젯 (iGoogle 또는 기타 OpenSocial 컨테이너에서 사용)인 경우 가젯 인증 섹션을 참고하세요.
참고: 이 문서는 각 인증 방법을 간략하게 설명하기 위한 것입니다. 각 메서드에 관한 자세한 내용은 전체 Google 계정 인증 API 문서를 참고하세요.
Google 계정 API 사용에 관한 토론은 Google 계정 API 그룹을 참고하세요.
OAuth - 웹 및 설치된 애플리케이션의 승인
많은 Google 서비스에서 사용자가 승인한 경우 Calendar 또는 Documents 데이터와 같은 사용자 생성 데이터에 대한 서드 파티 액세스를 허용합니다. 이 기능을 사용하면 사용자가 다양한 목적으로 Google 애플리케이션과 서드 파티 애플리케이션 간에 데이터를 공유하고 교환할 수 있습니다.
Google은 사용자의 Google 데이터에 대한 승인된 액세스를 얻기 위해 OAuth 1.0과 OAuth 2.0의 두 가지 버전의 OAuth를 지원하며, 두 버전 모두 웹 애플리케이션과 설치된 애플리케이션에 대한 액세스를 제공합니다.
웹 및 설치된 애플리케이션용 OAuth 2.0
웹 애플리케이션 또는 설치된 애플리케이션은 새롭고 간소화된 OAuth 2.0 프로토콜을 사용하여 Google 계정과 연결된 데이터에 대한 액세스를 승인할 수 있습니다. Google에서 OAuth 2.0을 구현하는 방법의 세부정보와 예는 OAuth 2.0 문서를 참고하세요.
웹 애플리케이션용 OAuth 1.0
Google 계정 또는 Google Workspace 계정과 연결된 데이터에 대한 승인된 액세스가 필요한 웹 애플리케이션은 Google의 OAuth API 구현을 사용할 수 있습니다. 예시를 비롯해 웹 기반 애플리케이션용 OAuth 구현에 관한 전체 정보는 웹 앱용 OAuth 가이드를 참고하거나 이 문서의 개요를 참고하세요.
설치된 애플리케이션용 OAuth 1.0
사용자의 컴퓨터와 휴대기기에 설치된 애플리케이션은 OAuth를 사용하여 Google 계정과 연결된 데이터에 대한 액세스를 승인할 수 있습니다. 설치된 애플리케이션에 OAuth를 구현하는 방법에 관한 자세한 내용은 설치된 애플리케이션용 OAuth 가이드를 참고하거나 이 문서의 개요를 참고하세요.
웹 애플리케이션에서 OAuth 사용
모든 Google Data API는 웹 애플리케이션에서 데이터 사용을 승인하는 개방형 표준인 OAuth를 지원합니다. OAuth 요청을 하는 모든 웹 애플리케이션은 보안 인증서를 업로드하고 Google에 등록해야 합니다. 자세한 내용은 웹 기반 애플리케이션 등록을 참고하세요.
Google Data API 클라이언트 라이브러리는 웹 애플리케이션에서 OAuth를 사용하는 데 도움이 되는 메서드를 제공합니다. 특히 요청 토큰을 구성하고, 요청 토큰을 승인하고, 승인된 요청 토큰을 액세스 토큰으로 교환하는 메서드가 있습니다. 또한 라이브러리는 Google 데이터 서비스에 요청할 때 필요한 서명 알고리즘을 처리합니다. Google Data API 클라이언트 라이브러리와 함께 OAuth를 사용하는 방법에 관한 자세한 예는 Google Data API 클라이언트 라이브러리와 함께 OAuth 사용하기를 참고하세요.
OAuth 승인 프로세스
OAuth 승인 프로세스에는 웹 애플리케이션, Google의 승인 서버, 최종 사용자 간의 일련의 상호작용이 포함됩니다.
기본적으로 프로세스는 다음과 같습니다.
- 애플리케이션이 액세스를 요청하고 Google의 승인 서버에서 승인되지 않은 요청 토큰을 가져옵니다.
- Google에서 사용자에게 필요한 데이터에 대한 액세스 권한을 부여하도록 요청합니다.
- 애플리케이션이 승인 서버에서 승인된 요청 토큰을 가져옵니다.
- 승인된 요청 토큰을 액세스 토큰으로 교환합니다.
- 액세스 토큰을 사용하여 Google의 서비스 액세스 서버에서 데이터를 요청합니다.
애플리케이션이 처음 사용자 데이터에 대한 액세스를 요청하면 Google에서 애플리케이션에 승인되지 않은 요청 토큰을 발급합니다.
사용자가 아직 로그인하지 않은 경우 Google에서 사용자에게 로그인하라는 메시지를 표시합니다. 그러면 Google에서 사용자가 애플리케이션이 액세스를 요청하는 Google 서비스 데이터를 확인할 수 있는 승인 페이지를 표시합니다.
사용자가 애플리케이션의 액세스 요청을 승인하면 Google에서 승인된 요청 토큰을 발급합니다. 각 요청 토큰은 1시간 동안만 유효합니다. 승인된 요청 토큰만 액세스 토큰으로 교환할 수 있으며, 이 교환은 승인된 요청 토큰당 한 번만 실행할 수 있습니다.
기본적으로 액세스 토큰은 수명이 깁니다. 각 액세스 토큰은 원래 승인 요청에 지정된 사용자 계정에만 적용되며 해당 요청에 지정된 서비스에만 액세스 권한을 부여합니다. 액세스 토큰은 사용자 데이터에 대한 모든 액세스에 필요하므로 애플리케이션은 액세스 토큰을 안전하게 저장해야 합니다.
OAuth 준비
OAuth를 사용하여 Google 승인 서비스를 사용하도록 애플리케이션을 설정하려면 다음 작업을 완료해야 합니다.
웹 애플리케이션 등록 여부 결정
사용자에게 데이터 보안에 대한 추가 보증을 제공하려면 Google에 웹 애플리케이션을 등록하고 등록된 보안 인증서로 요청에 서명하면 됩니다. 일부 Google Data API 피드는 등록된 애플리케이션에서만 사용할 수 있습니다. 관심 있는 Google Data API의 문서를 참고하여 해당 API가 등록된 애플리케이션에서만 작동하는지 확인하세요.
애플리케이션은 전송하는 각 OAuth 요청에 서명해야 합니다. RSA-SHA1 서명을 사용하여 요청에 서명하려면 등록 절차의 일환으로 보안 인증서를 업로드해야 합니다.
또는 HMAC-SHA1 서명을 사용하여 요청에 서명할 수 있습니다. HMAC-SHA1 서명에는 인증서가 필요하지 않습니다. 대신 Google에서 OAuth consumer secret 값을 생성하며, 이 값은 등록 후 도메인의 등록 페이지에 표시됩니다.
등록 절차에 관한 자세한 내용은 웹 애플리케이션 등록을 참고하세요.
애플리케이션이 액세스할 데이터의 범위 결정
각 Google 서비스는 Google 데이터 API를 통해 허용하는 액세스에 제한을 설정합니다. 이 액세스는 범위 값으로 표현됩니다. 일부 서비스는 사용자가 어떤 애플리케이션이 어떤 데이터에 액세스할 수 있는지 선택할 수 있도록 다양한 범위 값을 제공합니다. 액세스하려는 Google 서비스에 사용할 수 있는 범위 값에 대한 자세한 내용은 해당 서비스의 문서를 참고하세요.
일반적으로 필요한 데이터를 포함하는 가장 좁은 범위의 토큰을 요청해야 합니다. 예를 들어 애플리케이션에서 사용자의 '모든 일정' 피드에 액세스해야 하는 경우 http://www.google.com/calendar/feeds/default/allcalendars/full 범위의 토큰을 요청해야 합니다.
OAuth 토큰을 관리하는 메커니즘 설정
사용자 데이터에 대한 OAuth 액세스 토큰을 획득한 경우 사용자를 대신하여 지정된 Google 서비스와 향후 상호작용할 때 해당 액세스 토큰을 사용해야 합니다.
애플리케이션은 각 토큰이 유효한 Google 서비스를 추적하는 등 토큰 스토리지를 안전하게 관리해야 합니다. 둘 이상의 Google 서비스에 대한 액세스가 필요한 경우 여러 액세스 토큰을 획득할 수 있지만, 사용자 및 애플리케이션당 10개를 초과하는 액세스 토큰은 언제든지 미해결 상태일 수 없습니다.
애플리케이션이 여러 사용자 계정을 지원하는 경우 각 토큰이 연결된 계정을 추적해야 합니다. 각 OAuth 토큰은 액세스를 승인한 사용자에게만 적용됩니다. 애플리케이션은 토큰을 올바른 사용자와 연결할 수 있어야 합니다. 이를 관리하는 한 가지 방법은 토큰 요청을 하기 전에 사용자에게 쿠키를 발급하는 것입니다. 사용자가 요청된 데이터에 대한 액세스 권한을 부여하면 Google은 승인된 요청 토큰을 전송하고 사용자를 애플리케이션으로 리디렉션합니다. 그런 다음 애플리케이션의 쿠키를 사용하여 토큰을 올바른 사용자와 연결할 수 있습니다.
Google 서비스에 대한 액세스를 요청하는 메커니즘 설정
Google 서비스에 대한 각 요청은 서명되어야 하며 유효한 OAuth 액세스 토큰이 포함되어야 합니다. 일반적으로 각 요청은 액세스 토큰과 서명이 헤더에 포함된 HTTP GET 요청의 형태로 이루어집니다. 새 데이터를 쓰는 요청은 HTTP POST를 사용해야 합니다.
각 Google Data API의 올바른 요청 형식에 대한 자세한 내용은 해당 API의 문서를 참고하세요.
OpenID 구현 (선택사항)
사용자 인증을 위해 OpenID를 구현하는 경우 하이브리드 프로토콜을 사용하여 두 프로세스를 결합하는 것이 좋습니다. OpenID+OAuth를 사용하면 요청 토큰을 가져오고 이를 승인하는 작업이 OAuth 확장 프로그램이 있는 OpenID 요청의 일부로 처리됩니다. OAuthGetRequestToken와 마찬가지로 이러한 확장 프로그램은 액세스할 Google 서비스를 식별하는 데 사용됩니다. OpenID 요청에 대한 성공적인 응답에는 승인된 요청 토큰이 포함됩니다. 이 토큰을 수신한 후 OAuthGetAccessToken를 사용하여 액세스 토큰으로 교환합니다.
OAuth 토큰 사용
OAuth를 사용하려면 애플리케이션이 다음 시퀀스에 대해 형식이 올바른 서명된 토큰 요청 호출을 생성하고 응답을 처리해야 합니다.
- 승인되지 않은 요청 토큰 가져오기 (OAuthGetRequestToken)
- 요청 토큰 (OAuthAuthorizeToken) 승인
- 승인된 요청 토큰을 액세스 토큰으로 교환 (OAuthGetAccessToken)
애플리케이션 등록 여부와 관계없이 모든 OAuth 요청에 서명해야 합니다. 자세한 내용은 OAuth 요청 서명을 참고하세요.
OAuth Playground에서 승인 토큰을 요청하고 수신하는 것을 실험해 볼 수 있습니다.
자세한 내용은 OAuth API 참조를 참고하세요.
콜백 URL 설정
OAuthGetRequestToken 요청에서 oauth_callback 값을 지정하여 사용자가 액세스 요청을 승인한 후 Google이 사용자를 리디렉션할 위치를 결정할 수 있습니다. 콜백 URL에는 쿼리 매개변수가 포함될 수 있습니다. 리디렉션에는 동일한 쿼리 매개변수와 승인된 요청 토큰이 포함되며, 애플리케이션에서 이를 파싱할 수 있어야 합니다.
예를 들어 여러 언어를 지원하는 경우 사용자가 보고 있는 애플리케이션 버전을 식별하는 쿼리 매개변수를 포함할 수 있습니다. oauth_callback 값이 'http://www.yoursite.com/Retrievetoken?Lang=de'이면 'http://www.yoursite.com/Retrievetoken?Lang=de&oauth_token=DQAADKEDE'로 리디렉션됩니다.
토큰과 언어 매개변수를 파싱하면 사용자가 올바른 버전의 사이트로 다시 리디렉션됩니다.
oauth_callback 매개변수가 포함되지 않으면 Google에서 액세스 요청을 승인한 후 인증 번호가 표시되는 웹페이지로 사용자를 안내합니다 (예 참고). 사용자가 애플리케이션으로 수동으로 돌아와 인증 번호를 입력해야 승인된 요청 토큰을 획득할 수 있습니다.
사용자에게 애플리케이션 식별
Google은 일반적으로 사용자에게 액세스 동의를 요청할 때 애플리케이션의 이름을 표시합니다 (예 참고).
애플리케이션이 등록되지 않은 경우 OAuthGetRequestToken 요청에서 xoauth_displayname 매개변수를 사용하여 애플리케이션의 이름을 지정합니다. 이 매개변수를 지정하지 않으면 Google은 oauth_callback 매개변수로 제공된 URL의 도메인 이름을 표시합니다. 콜백 URL이 제공되지 않으면 Google에서 'anonymous' 문자열을 표시합니다.
애플리케이션이 등록된 경우 이 파라미터를 설정하지 마세요. 기본적으로 Google에는 등록 시 지정한 표시 이름이 표시됩니다. OAuthGetRequestToken 요청에 표시 이름을 설정하면 Google에서 등록된 표시 이름 대신 이 이름을 사용하고 애플리케이션의 신원을 확인할 수 없다는 메시지를 포함합니다.
참고: OAuth Playground에서 xoauth_displayname 매개변수를 설정하려면 요청 토큰을 가져오기 전에 '고급' 체크박스를 선택하세요.
Google Apps 도메인 사용
호스팅된 Google 계정 도메인의 사용자를 위해 애플리케이션을 설계한 경우 토큰을 승인할 때 hd 매개변수를 사용하는 것이 좋습니다. hd 매개변수에 관한 자세한 내용은 계정이 여러 개인 사용자 처리를 참고하세요.
OAuth에 대한 자세한 정보
애플리케이션을 등록하고 필요한 OAuth 매개변수를 구성하는 방법을 비롯해 Google의 OAuth 구현에 관한 자세한 내용은 다음 추가 리소스를 참고하세요.
- Google Data API 클라이언트 라이브러리와 함께 OAuth 사용
- 문서: Google 데이터 API와 함께 OAuth 사용하기(OAuth 플레이그라운드에 대한 설명 포함, OAuth를 사용해 볼 수 있는 대화형 도구)
- 웹 애플리케이션용 OAuth (전체 문서)
- 웹 기반 애플리케이션 등록
- 키 및 인증서 생성
- OAuth 사양
설치된 애플리케이션에서 OAuth 사용
모든 Google Data API는 애플리케이션에서 데이터 사용을 승인하는 개방형 표준인 OAuth를 지원합니다. OAuth를 사용하기 위해 설치된 애플리케이션을 Google에 등록할 필요는 없습니다.
OAuth 승인 프로세스
OAuth 승인 프로세스에는 애플리케이션, Google의 승인 서버, 최종 사용자 간의 일련의 상호작용이 포함됩니다.
기본적으로 프로세스는 다음과 같습니다.
- 애플리케이션이 액세스를 요청하고 Google의 승인 서버에서 승인되지 않은 요청 토큰을 가져옵니다.
- Google에서 사용자에게 필요한 데이터에 대한 액세스 권한을 부여하도록 요청합니다.
- 애플리케이션이 승인 서버에서 승인된 요청 토큰을 가져옵니다.
- 승인된 요청 토큰을 액세스 토큰으로 교환합니다.
- 액세스 토큰을 사용하여 Google의 서비스 액세스 서버에서 데이터를 요청합니다.
애플리케이션이 처음 사용자 데이터에 대한 액세스를 요청하면 Google에서 애플리케이션에 승인되지 않은 요청 토큰을 발급합니다.
사용자가 아직 로그인하지 않은 경우 Google에서 사용자에게 로그인하라는 메시지를 표시합니다. 그러면 Google에서 사용자가 애플리케이션이 액세스를 요청하는 Google 서비스 데이터를 확인할 수 있는 승인 페이지를 표시합니다.
사용자가 애플리케이션의 액세스 요청을 승인하면 Google에서 승인된 요청 토큰을 발급합니다. 각 요청 토큰은 1시간 동안만 유효합니다. 승인된 요청 토큰만 액세스 토큰으로 교환할 수 있으며, 이 교환은 승인된 요청 토큰당 한 번만 실행할 수 있습니다.
OAuth는 등록되지 않은 모드를 사용하여 설치된 애플리케이션을 지원합니다. 승인된 요청 토큰을 획득하는 다양한 방법이 있으므로 앱이 설치된 기기에 웹브라우저가 없더라도 OAuth를 사용하여 애플리케이션을 승인할 수 있습니다.
기본적으로 액세스 토큰은 수명이 깁니다. 각 액세스 토큰은 원래 승인 요청에 지정된 사용자 계정에만 적용되며 해당 요청에 지정된 서비스에만 액세스 권한을 부여합니다. 액세스 토큰은 사용자 데이터에 대한 모든 액세스에 필요하므로 애플리케이션은 액세스 토큰을 안전하게 저장해야 합니다.
OAuth 준비
OAuth를 사용하여 Google 승인 서비스를 사용하도록 애플리케이션을 설정하려면 다음 작업을 완료해야 합니다.
애플리케이션이 액세스할 데이터의 범위 결정
각 Google 서비스는 Google 데이터 API를 통해 허용하는 액세스에 제한을 설정합니다. 이 액세스는 범위 값으로 표현됩니다. 일부 서비스는 사용자가 어떤 애플리케이션이 어떤 데이터에 액세스할 수 있는지 선택할 수 있도록 다양한 범위 값을 제공합니다. 액세스하려는 Google 서비스에 사용할 수 있는 범위 값에 대한 자세한 내용은 해당 서비스의 문서를 참고하세요.
일반적으로 필요한 데이터를 포함하는 가장 좁은 범위의 토큰을 요청해야 합니다. 예를 들어 애플리케이션에서 사용자의 '모든 일정' 피드에 액세스해야 하는 경우 http://www.google.com/calendar/feeds/default/allcalendars/full 범위의 토큰을 요청해야 합니다.
OAuth 토큰을 관리하는 메커니즘 설정
사용자 데이터에 대한 OAuth 액세스 토큰을 획득한 경우 사용자를 대신하여 지정된 Google 서비스와 향후 상호작용할 때 해당 액세스 토큰을 사용해야 합니다.
애플리케이션은 각 토큰이 유효한 Google 서비스를 추적하는 등 토큰 스토리지를 안전하게 관리해야 합니다.
애플리케이션이 여러 사용자 계정을 지원하는 경우 각 토큰이 연결된 계정을 추적해야 합니다.
Google 서비스에 대한 액세스를 요청하는 메커니즘 설정
Google 서비스에 대한 각 요청은 서명되어야 하며 유효한 OAuth 액세스 토큰이 포함되어야 합니다. 일반적으로 각 요청은 액세스 토큰과 서명이 헤더에 포함된 HTTP GET 요청의 형태로 이루어집니다. 새 데이터를 쓰는 요청은 HTTP POST를 사용해야 합니다.
각 Google Data API의 올바른 요청 형식에 대한 자세한 내용은 해당 API의 문서를 참고하세요.
OAuth 토큰 사용
OAuth를 사용하려면 애플리케이션이 다음 시퀀스에 대해 형식이 올바른 서명된 토큰 요청 호출을 생성하고 응답을 처리해야 합니다.
- 승인되지 않은 요청 토큰 가져오기 (OAuthGetRequestToken)
- 요청 토큰 (OAuthAuthorizeToken) 승인
- 승인된 요청 토큰을 액세스 토큰으로 교환 (OAuthGetAccessToken)
애플리케이션 등록 여부와 관계없이 모든 OAuth 요청에 서명해야 합니다. 자세한 내용은 OAuth 요청 서명을 참고하세요. 설치된 애플리케이션은 등록되지 않은 애플리케이션의 안내를 따라야 합니다.
OAuth Playground에서 승인 토큰을 요청하고 수신하는 것을 실험해 볼 수 있습니다.
자세한 내용은 OAuth API 참조를 참고하세요.
사용자에게 애플리케이션 식별
Google은 일반적으로 사용자에게 액세스 동의를 요청할 때 애플리케이션의 이름을 표시합니다 (예 참고).
OAuthGetRequestToken 요청에서 xoauth_displayname 매개변수를 사용하여 애플리케이션의 이름을 지정합니다. 이 매개변수를 지정하지 않으면 Google은 oauth_callback 매개변수로 제공된 URL의 도메인 이름을 표시합니다. 콜백 URL이 제공되지 않으면 Google에서 'anonymous' 문자열을 표시합니다.
참고: OAuth Playground에서 xoauth_displayname 매개변수를 설정하려면 요청 토큰을 가져오기 전에 '고급' 체크박스를 선택하세요.
웹브라우저 실행
OAuth 승인 프로세스의 일환으로 애플리케이션은 OAuthAuthorizeToken 요청을 해야 합니다. 그런 다음 사용자는 Google 웹페이지에 로그인하여 애플리케이션의 액세스 요청을 승인해야 합니다.
- 대부분의 애플리케이션에는 AutoDetect 모드를 사용해야 합니다.
- 전체 웹브라우저를 실행할 수 없는 애플리케이션에는 기기 모드를 사용해야 합니다.
- 개발 모드는 초기 개발 중에만 사용해야 합니다.
AutoDetect 모드
가능한 경우 애플리케이션은 브라우저 창을 실행하고 Google 페이지를 여는 OAuthAuthorizeToken 요청을 해야 합니다. Google에서 승인된 토큰을 반환하면 애플리케이션에서 이를 감지하고 웹브라우저에서 포커스를 다시 얻어야 합니다.
이 모드에서는 사용자가 액세스 요청을 승인한 후 리디렉션되는 콜백 URL을 제공해야 합니다. 이 URL은 OAuthGetRequestToken 요청의 oauth_callback 매개변수와 OAuthGetAccessToken 요청의 verifier 매개변수로 제공되어야 합니다.
사용자 환경을 개선하려면 사용자가 이 URL로 리디렉션될 때 애플리케이션이 자동으로 감지하고 즉시 포그라운드로 가져와 OAuth 프로세스를 완료하는 OAuthGetAccessToken 요청을 해야 합니다.
자세한 내용과 권장사항은 승인 자동 감지를 참고하세요.
사용자가 콜백 URL로 리디렉션되는 시점을 애플리케이션에서 자동으로 감지할 수 없거나 애플리케이션을 포그라운드로 가져올 수 없는 경우 콜백 URL은 애플리케이션을 포그라운드로 가져오는 방법과 애플리케이션 내에서 OAuthGetAccessToken 요청을 시작하는 방법을 설명하는 페이지를 표시해야 합니다.
기기 모드
애플리케이션에서 전체 웹브라우저를 실행할 수 없는 경우 리치 클라이언트 기기에서 웹브라우저 없이 승인할 수도 있습니다.
이 모드를 사용하면 개발자가 사용자가 액세스 요청을 승인할 수 있는 웹사이트를 설정할 수 있습니다. 승인 후 사용자에게 Google에서 생성한 코드가 제공되고 개발자의 사이트로 리디렉션됩니다. 이 사이트에서는 사용자에게 기기에 코드를 입력하여 승인 프로세스를 완료하는 방법을 설명해야 합니다.
개발 모드
이 모드는 애플리케이션의 초기 개발 중에만 사용하는 것이 좋습니다.
AutoDetect 모드와 마찬가지로 애플리케이션은 브라우저를 실행해야 하며 사용자는 요청을 승인해야 합니다. 하지만 콜백 URL의 웹페이지를 만드는 대신 oauth_callback 매개변수의 값을 "oob" (대역 외)로 설정할 수 있습니다.
이 경우 사용자가 요청을 승인하면 Google은 사용자에게 인증 번호를 표시하는 Google 계정 페이지로 안내합니다 (예 참고).
사용자가 애플리케이션으로 돌아와 인증 번호를 입력해야 OAuthGetAccessToken 요청을 할 수 있습니다.
OAuth에 대한 자세한 정보
애플리케이션을 등록하고 필요한 OAuth 매개변수를 구성하는 방법을 비롯해 Google의 OAuth 구현에 관한 자세한 내용은 다음 추가 리소스를 참고하세요.
- Google Data API 클라이언트 라이브러리와 함께 OAuth 사용
- 문서: Google 데이터 API와 함께 OAuth 사용하기(OAuth 플레이그라운드에 대한 설명 포함, OAuth를 사용해 볼 수 있는 대화형 도구)
- 설치된 애플리케이션용 OAuth (전체 문서)
- 키 및 인증서 생성
- OAuth 사양
승인에 AuthSub 사용
AuthSub는 Google 소유권이 있는 승인 API로, 대부분의 Google API에서 OAuth의 대안으로 사용할 수 있습니다. 가능하면 AuthSub 사용을 피해야 합니다. AuthSub를 사용하는 애플리케이션이 이미 있는 경우 OAuth 또는 하이브리드 프로토콜로 이전해야 합니다.
AuthSub 승인 프로세스
AuthSub를 사용한 승인에는 웹 애플리케이션, Google 서비스, 사용자라는 세 가지 항목 간의 일련의 상호작용이 포함됩니다. 이 다이어그램은 시퀀스를 보여줍니다.

- 웹 애플리케이션이 사용자의 Google 서비스에 액세스해야 하는 경우 Google의 승인 프록시 서비스에 AuthSub 호출을 실행합니다.
- 승인 서비스는 액세스 요청 페이지를 제공하여 응답합니다. 이 Google 관리 페이지는 사용자에게 Google 서비스에 대한 액세스 권한을 부여하거나 거부하라는 메시지를 표시합니다. 사용자에게 먼저 계정에 로그인하라는 메시지가 표시될 수 있습니다.
- 사용자가 웹 애플리케이션에 대한 액세스 권한을 부여할지 거부할지 결정합니다. 사용자가 액세스를 거부하면 웹 애플리케이션으로 다시 이동하는 대신 Google 페이지로 이동합니다.
- 사용자가 액세스 권한을 부여하면 승인 서비스가 사용자를 웹 애플리케이션으로 다시 리디렉션합니다. 리디렉션에는 한 번 사용할 수 있는 승인 토큰이 포함되어 있으며, 이 토큰은 장기 토큰으로 교환할 수 있습니다.
- 웹 애플리케이션은 승인 토큰을 사용하여 사용자의 에이전트 역할을 하는 요청으로 Google 서비스에 문의합니다.
- Google 서비스에서 토큰을 인식하면 요청된 데이터를 제공합니다.
AuthSub 사용
AuthSub를 웹 애플리케이션에 통합하려면 다음 작업을 수행해야 합니다.
- 웹 애플리케이션을 등록할지 여부를 결정합니다.
등록된 웹 애플리케이션은 Google에서 인식된다는 장점이 있습니다. Google 로그인 페이지에 사용자에게 표시되는 표준 주의사항이 수정되거나 생략됩니다. 또한 등록된 웹 애플리케이션은 호출 URL뿐만 아니라 설명이 포함된 이름으로 식별됩니다. 일부 Google 서비스에서는 등록되지 않은 웹 애플리케이션에 대한 액세스를 제한합니다. 등록하려면 이 자동화된 등록 절차를 사용하세요.
등록하는 경우 보안 인증서와 키를 제공할 수도 있습니다. 등록된 웹 애플리케이션은 파일에 인증서가 있는 경우 Google 서비스에서 데이터를 요청할 때 사용할 보안 토큰을 획득할 수 있습니다. (필요한 경우 보안되지 않은 토큰을 사용할 수도 있습니다.)
- 사용할 토큰 유형과 토큰 관리 방법을 결정합니다.
Google에서 수신한 승인 토큰은 해당 사용자에 대해 지정된 Google 서비스와의 모든 향후 상호작용에 사용됩니다. 사용할 토큰 유형(일회용 또는 세션)은 웹 애플리케이션이 Google 서비스와 갖는 상호작용 유형에 따라 다릅니다. 예를 들어 상호작용이 일회성 또는 드문 이벤트인 경우 일회용 토큰으로 충분할 수 있습니다.
세션 토큰을 가져와 정기적으로 사용하여 Google 서비스에 액세스하는 경우 웹 애플리케이션에서 토큰이 유효한 사용자 및 Google 서비스를 추적하는 등 토큰 스토리지를 관리해야 합니다. Google 계정은 많은 수의 토큰을 관리하도록 설정되어 있지 않으며, 실제로 한 번에 10개가 넘는 유효한 토큰 (사용자별, 웹 애플리케이션별)이 미해결 상태로 유지되지 않습니다. 이 제한사항을 통해 웹 애플리케이션은 필요한 경우 여러 서비스를 포괄하는 여러 토큰을 가져올 수 있습니다. 웹 애플리케이션이 Google 서비스에 액세스할 때마다 새 토큰을 가져오는 것은 지원하지 않습니다. 세션 토큰을 저장하는 경우 토큰은 서버에 저장된 다른 민감한 정보와 마찬가지로 안전하게 취급해야 합니다.
또는 토큰 폐기 메커니즘을 설정한 경우 정기적으로 새 토큰을 가져올 수 있습니다. 애플리케이션에서 다른 토큰을 요청하기 전에 기존 토큰을 취소해야 합니다. 이 시나리오에서는 새 토큰이 요청될 때마다 사용자가 로그인하고 액세스 권한을 부여해야 합니다.
- 액세스할 Google 서비스에 필요한 범위를 확인합니다.
각 Google 서비스는 허용할 액세스 권한의 양과 유형을 결정합니다. 이 액세스는 범위 값으로 표현됩니다. 서비스의 범위는 전체 서비스를 식별하는 간단한 URL일 수도 있고 더 제한된 액세스를 지정할 수도 있습니다. 일부 서비스에서는 제한된 정보에 대한 읽기 전용 액세스만 허용하는 등 액세스를 심각하게 제한합니다. 액세스하려는 Google 서비스의 허용된 범위를 확인하려면 해당 서비스의 문서를 참고하세요. 가능한 한 가장 엄격한 범위의 토큰을 요청해야 합니다. 예를 들어 Gmail의 Atom 피드 기능에 액세스하려고 하면 'http://www.google.com/calendar/'이 아닌 'http://www.google.com/calendar/feeds/' 범위를 사용합니다. Google 서비스는 범위가 큰 요청에 대해 훨씬 더 제한적입니다.
- 승인 토큰을 요청하고 수신하는 메커니즘을 설정합니다.
이 메커니즘은 적절한 next 및 scope URL 값 (3단계에서 결정됨)을 지정하는 것을 포함하여 형식이 올바른 AuthSubRequest 호출을 생성해야 합니다. 보안 토큰을 사용하거나 세션 토큰을 관리하는 경우 요청에 이러한 변수의 값도 포함해야 합니다.
다음 URL에는 쿼리 매개변수가 포함될 수 있습니다. 예를 들어 여러 언어를 지원하는 경우 사용자가 보고 있는 웹 애플리케이션의 버전을 식별하는 쿼리 매개변수를 포함합니다.
http://www.yoursite.com/Retrievetoken?Lang=de의 next 값은http://www.yoursite.com/Retrievetoken?Lang=de&token=DQAADKEDE리디렉션으로 이어집니다. 토큰과 Lang 매개변수를 파싱하면 사용자가 올바른 버전의 사이트로 다시 리디렉션됩니다.경우에 따라 hd 매개변수를 사용하면 Google 계정 사이트에서 액세스 권한을 부여하라는 메시지가 표시될 때 사용자의 환경을 간소화할 수 있습니다. 대부분의 경우 계정에 로그인하여 액세스 권한을 부여할지 여부를 선택하기만 하면 됩니다. 하지만 Google 계정이 두 개 이상인 사용자 (일반 Gmail 계정 및/또는 하나 이상의 Google Workspace 호스팅 계정)는 액세스할 계정을 식별하기 위해 추가 '범용 로그인' 절차를 따라야 할 수 있습니다. 애플리케이션이 특정 관리 도메인을 위해 설계된 경우 이 매개변수를 사용하여 해당 도메인을 식별하면 이러한 추가 단계를 없앨 수 있습니다. 호스팅 계정에서 사용할 수 없는 서비스에 애플리케이션이 액세스하는 경우 hd 매개변수를 사용할 수도 있습니다. 값을 'default'로 설정하면 승인이 일반 계정으로만 제한됩니다. hd 값이 설정되면 Google에서 승인을 위해 올바른 계정을 자동으로 선택합니다.
토큰 메커니즘은 일회용 토큰이 포함된 Google에서 수신한 리디렉션을 파싱하고 이를 사용하여 조치를 취할 수 있어야 합니다. 인증 토큰은 사용자에게 고유하므로 애플리케이션이 토큰을 사용자와 연결할 수 있어야 합니다. 토큰 요청을 하기 전에 사용자에게 쿠키를 발급하는 것이 좋습니다. 그런 다음 Google이 추가된 토큰과 함께 사용자를 사이트로 다시 리디렉션하면 애플리케이션이 쿠키를 읽고 토큰을 올바른 사용자 식별자와 연결할 수 있습니다.
- 관련된 경우 세션 토큰을 요청하고 저장하거나 취소하는 메커니즘을 설정합니다.
2단계에서 내린 토큰 관리 결정에 따라 세션 토큰 (AuthSubSessionToken 및 AuthSubRevokeToken)을 가져오고 취소하는 메커니즘을 만들어야 할 수도 있습니다. 세션 및 취소 메커니즘을 테스트하려면 지정된 토큰이 유효한지 여부를 나타내는 AuthSubTokenInfo를 사용하세요. 토큰을 저장하는 경우 애플리케이션은 토큰으로 커버되는 사용자 ID와 서비스를 모두 추적해야 합니다.
- Google 서비스에 대한 액세스를 요청하는 메커니즘을 설정합니다.
적절한 요청 형식에 관한 자세한 내용은 Google 서비스 문서를 참고하세요. Google 서비스에 대한 모든 요청에는 유효한 승인 토큰이 포함되어야 합니다. 일반적으로 Google 서비스에 대한 요청은 HTTP GET (또는 새 데이터를 쓰는 경우 POST) 형식이며, 요청 헤더에 토큰이 참조됩니다.
요청 헤더는 다음 형식을 취해야 합니다.
Authorization: AuthSub token="token"
여기서 token은 AuthSub 요청에 대한 응답으로 Google에서 수신한 승인 토큰(일회용 또는 세션)입니다. 토큰이 보안 처리된 경우 디지털 서명이 함께 제공되어야 합니다. 안내와 예시는 '요청 서명'을 참고하세요.
아래 예는 Google Calendar 피드 서비스 호출을 위한 요청 헤더를 보여줍니다. 이 요청에 보안되지 않은 토큰이 포함되어 있습니다.
GET /calendar/feeds/default/private/full HTTP/1.1 Content-Type: application/x-www-form-urlencoded Authorization: AuthSub token="GD32CMCL25aZ-v____8B" User-Agent: Java/1.5.0_06 Host: www.google.com Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Connection: keep-alive
AuthSub에 대한 추가 정보
Google에 애플리케이션을 등록하는 방법과 일회성 토큰을 세션 토큰으로 교환하는 방법에 관한 자세한 내용은 다음 추가 리소스를 참고하세요.
- 웹 애플리케이션용 AuthSub 인증 (전체 문서)
- Google Data API 클라이언트 라이브러리와 함께 AuthSub 사용
- 키 및 인증서 생성 (보안 AuthSub)
- AuthSub로 요청 서명 (보안 AuthSub)
- 웹 기반 애플리케이션 등록
승인을 위해 ClientLogin 사용
ClientLogin은 Google 소유권이 있는 승인 API로, 대부분의 Google API에서 OAuth의 대안으로 사용할 수 있습니다. 가능하면 ClientLogin을 사용하지 않는 것이 좋습니다. ClientLogin을 사용하는 애플리케이션이 이미 있는 경우 OAuth 또는 하이브리드 프로토콜로 마이그레이션해야 합니다.
설치된 애플리케이션 인증: ClientLogin
ClientLogin을 사용하면 사용자가 애플리케이션 내에서 Google 계정에 로그인할 수 있습니다. 그러면 애플리케이션이 로그인 데이터로 Google에 연락하여 지정된 Google 데이터 API에 대한 액세스를 요청합니다. 로그인 정보가 성공적으로 인증되면 Google은 토큰을 반환합니다. 애플리케이션은 데이터를 가져오거나 게시하는 등 사용자의 계정에 대한 액세스를 요청할 때마다 이 토큰을 참조합니다. 토큰은 사용 중인 Google 서비스에 의해 정의된 설정된 시간 동안 유효한 상태로 유지됩니다.
참고: Google Data API 클라이언트 라이브러리는 설치된 애플리케이션에서 ClientLogin을 사용하는 데 도움이 되는 메서드를 제공합니다. 특히 인증 토큰을 획득하고, CAPTCHA 챌린지를 처리하고, 나중에 사용할 인증 토큰을 호출하고, 모든 요청과 함께 올바른 Authorization 헤더를 전송하는 메서드가 있습니다. 라이브러리 중 하나를 사용하는 경우 Google Data API 클라이언트 라이브러리와 함께 ClientLogin 사용을 참고하세요.
ClientLogin 승인 프로세스
ClientLogin을 사용한 승인에는 설치된 애플리케이션, Google 서비스, 사용자라는 세 가지 항목 간의 일련의 상호작용이 포함됩니다. 이 다이어그램은 시퀀스를 보여줍니다.

- 서드 파티 애플리케이션이 사용자의 Google 서비스에 액세스해야 하는 경우 사용자의 로그인 이름과 비밀번호를 가져옵니다.
- 그러면 서드 파티 애플리케이션이 Google의 승인 서비스에 ClientLogin 호출을 합니다.
- Google 승인 서비스에서 추가 검증이 필요하다고 판단하면 보안문자 이미지의 URL 형식으로 보안문자 토큰과 챌린지가 포함된 실패 응답을 반환합니다.
- 보안문자 챌린지가 수신되면 서드 파티 애플리케이션은 사용자에게 보안문자 이미지를 표시하고 사용자에게 답변을 요청합니다.
- 요청이 있으면 사용자가 보안문자 확인 정보에 대한 답변을 제출합니다.
- 서드 파티 애플리케이션이 이번에는 CAPTCHA 답변과 토큰 (실패 응답과 함께 수신됨)을 포함하여 새로운 ClientLogin 호출을 만듭니다.
- 로그인 시도에 성공하면 (보안문자 챌린지 포함 또는 미포함) Google 승인 서비스가 애플리케이션에 토큰을 반환합니다.
- 애플리케이션은 Google 승인 서비스에서 수신한 토큰을 참조하여 데이터 액세스를 요청하며 Google 서비스에 문의합니다.
- Google 서비스가 토큰을 인식하면 요청된 데이터 액세스를 제공합니다.
ClientLogin 사용
설치된 애플리케이션에서 이 인터페이스를 사용하여 프로그래매틱 방식으로 사용자의 Google 계정에 액세스합니다. 사용자로부터 로그인 정보를 수집한 후 ClientLogin을 호출하여 사용자의 계정에 대한 액세스를 요청합니다. 로그인 정보가 인증되면 Google은 토큰을 반환하며, 애플리케이션은 사용자의 계정에 대한 액세스를 요청할 때마다 이 토큰을 참조합니다. 토큰은 사용 중인 Google 서비스에 의해 정의된 설정된 시간 동안 유효합니다.
애플리케이션에 ClientLogin을 통합하려면 다음 작업을 실행해야 합니다.
- 사용자로부터 로그인 데이터를 캡처하는 UI 요소를 만듭니다.
UI는 사용자 이름 (도메인이 포함된 이메일 주소)과 비밀번호를 요청해야 합니다. UI는 필요한 경우 Google에서 수신한 URL을 사용하여 보안문자 이미지를 표시하고 사용자로부터 정답을 요청할 수 있어야 합니다. 사용자가 새 계정에 가입하거나 다른 계정 유지보수를 해야 하는 경우를 대비하여 UI에 Google 계정 로그인 페이지 ('https://www.google.com/accounts/Login') 링크를 포함하는 것이 좋습니다.
- 형식이 올바른 HTTPS POST
ClientLogin요청을 생성하고 전송하는 코드를 작성합니다.이 코드에는 보안문자 챌린지를 처리하는 로직이 포함되어야 하며
logintoken및logincaptcha매개변수가 모두 포함되어야 합니다. 또한 애플리케이션은 사용자가 필수 정보를 누락하거나 로그인 실패 후 잘못된 데이터를 반복하는 경우를 감지하고 불필요한 요청을 전송하지 않고 오류를 표시할 수 있어야 합니다. - Google의 응답을 처리합니다.
로그인 요청에 대한 가능한 응답은 네 가지입니다.
- 성공 (HTTP 200)
- 설명 오류 코드가 포함된 실패 (HTTP 403)
- 잘못된 요청으로 인해 일반적으로 발생합니다.
- 보안문자 챌린지 실패
성공 응답에는 'Auth'라는 라벨이 지정된 승인 토큰이 포함됩니다. 이 토큰은 이 계정의 Google 서비스에 대한 모든 후속 요청에 포함되어야 합니다. 승인 토큰은 사용자의 계정에 대한 액세스 권한을 나타내므로 철저히 보호해야 하며 다른 애플리케이션에 제공해서는 안 됩니다. 토큰의 시간 제한은 토큰을 발급한 서비스에 따라 다릅니다.
실패 응답에는 하나 이상의 오류 코드와 사용자에게 표시할 수 있는 오류 메시지가 포함된 URL이 포함됩니다.
ClientLogin는 잘못된 비밀번호로 인한 실패와 인식되지 않는 사용자 이름으로 인한 실패 (예: 사용자가 아직 계정에 가입하지 않은 경우)를 구분하지 않습니다. 애플리케이션은 가능한 모든 오류 메시지를 적절하게 처리해야 합니다.보안문자 챌린지가 포함된 실패 응답은 어떤 이유로든 Google에서 추가 보안 조치를 취해야 한다고 결정했음을 의미합니다. 이 응답에는 보안문자 이미지 URL과 특정 보안문자 챌린지를 나타내는 토큰이 함께 제공됩니다.
- Google의 보안문자 챌린지를 처리합니다.
챌린지를 처리하려면 애플리케이션이 보안문자 이미지를 표시하고 사용자에게 답변을 요청해야 합니다. CAPTCHA 이미지를 표시하려면 실패 응답과 함께 반환된
CaptchaUrl값을 사용하고 Google 계정 URL('http://www.google.com/accounts/')을 앞에 붙입니다. 사용자가 답변을 제공하면 애플리케이션은 이번에는 CAPTCHA 토큰 (logintoken)과 사용자의 답변 (logincaptcha)을 포함하여 로그인 요청을 다시 전송해야 합니다. Google은 계정에 대한 액세스를 승인하기 전에 사용자의 답변을 검증합니다.사용자 보안문자 응답을 가져오고 전송하는 프로세스를 관리하고 싶지 않은 개발자를 위한 대안이 있습니다. 보안문자 테스트에 대한 응답으로 애플리케이션은 사용자를 Google 호스팅 페이지('https://www.google.com/accounts/DisplayUnlockCaptcha')로 안내할 수 있습니다. 사용자가 챌린지에 성공적으로 응답하면 Google 서버는 사용 중인 컴퓨터를 신뢰합니다. 그러면 애플리케이션은 원래 로그인 요청을 다시 전송하여 승인 토큰을 획득할 수 있습니다.
참고: Google은 보안문자 챌린지를 발행하기 전에 로그인 시도를 검증하지 않습니다. 즉, 보안문자 챌린지 후에도 로그인 시도가 실패할 수 있습니다.
* 보안문자는 Carnegie Mellon University의 상표입니다.
가젯 인증
OAuth 프록시
표준 Gadgets API를 사용하여 가젯을 빌드하는 경우 OAuth 프록시라는 가젯 플랫폼의 기능을 활용하여 Google Data API에 액세스할 수 있습니다. OAuth (위 설명 참고)는 사용자가 iGoogle, MySpace, Orkut과 같은 가젯 호스팅 서비스에서 자신의 비공개 데이터에 액세스하거나 다른 웹사이트 또는 가젯과 데이터를 공유할 수 있도록 지원하는 인증 표준입니다. OAuth 프록시는 OAuth의 인증 세부정보를 많이 숨겨 가젯 개발자가 더 쉽게 개발할 수 있도록 설계되었습니다. 프록시는 가젯 사양을 구현한 Shindig라는 오픈소스 프로젝트를 기반으로 합니다.
참고: OAuth 프록시는 gadgets.* API를 사용하고 OpenSocial 컨테이너에서 실행되는 가젯에만 지원됩니다. 레거시 가젯 API에서는 지원되지 않습니다.
인증 흐름
사용자의 데이터에 액세스하려면 가젯이 OAuth 토큰을 획득해야 합니다. OAuth 프록시는 인증 흐름을 관리합니다. 사용자가 처음으로 가젯을 설치하면 다음 프로세스가 진행됩니다.
- 가젯이 처음 로드되고 Google 데이터 API 중 하나를 사용하여 사용자의 데이터에 액세스하려고 합니다.
- 사용자가 액세스 권한을 부여하지 않아 요청이 실패합니다. 응답 객체에는 OAuth 승인 페이지의 URL (
response.oauthApprovalUrl)이 포함됩니다. 가젯은 해당 URL로 새 창을 실행하는 메서드를 제공해야 합니다. - 승인 페이지에서 사용자는 가젯에 대한 액세스 권한을 부여하거나 거부합니다. 성공하면 사용자가 지정한
oauth_callback페이지로 이동합니다. 최상의 사용자 환경을 위해http://oauth.gmodules.com/gadgets/oauthcallback를 사용하세요. - 그런 다음 사용자가 팝업 창을 닫습니다. 사용자가 승인했음을 가젯에 알리려면 팝업 핸들러를 사용하여 승인 창이 닫히는 것을 감지하면 됩니다. 또는 이 창이 닫힌 후 사용자가 클릭할 수 있는 링크 (예: '액세스 승인됨')를 가젯에 표시할 수 있습니다.
- 가젯이 사용자의 데이터를 다시 요청하여 Google Data API에 두 번째로 액세스하려고 합니다. 이 시도는 성공합니다.
- 가젯이 인증되었으며 정상적으로 작동할 수 있습니다.
가젯 설정
하나 이상의 Google 데이터 API에 액세스하려면 먼저 가젯에서 OAuth를 인증 방법으로 사용하도록 지정해야 합니다. 가젯의 XML에 있는 <ModulePrefs> 섹션에 <OAuth> 요소를 추가합니다.
<ModulePrefs> ... <OAuth> <Service name="google"> <Access url="https://www.google.com/accounts/OAuthGetAccessToken" method="GET" /> <Request url="https://www.google.com/accounts/OAuthGetRequestToken? scope=http://www.blogger.com/feeds/%20http://www.google.com/calendar/feeds/" method="GET" /> <Authorization url="https://www.google.com/accounts/OAuthAuthorizeToken? oauth_callback=http://oauth.gmodules.com/gadgets/oauthcallback" /> </Service> </OAuth> ... </ModulePrefs>
이 섹션에서는 다음 쿼리 매개변수만 변경합니다.
scope- 요청 URL의 필수 매개변수입니다. 가젯은 이 매개변수에 사용된
scope의 데이터에 액세스할 수 있습니다. 이 예에서 가젯은 블로거 및 Calendar 데이터에 액세스할 수 있습니다. 이 예와 같이 가젯은 단일 범위 또는 여러 범위의 데이터를 요청할 수 있습니다. oauth_callback- 인증 URL의 선택적 매개변수입니다. 사용자가 데이터 액세스를 승인하면 OAuth 승인 페이지가 이 URL로 리디렉션됩니다. 사용자가 가젯을 설치할 때 최상의 사용자 환경을 제공하려면 이 매개변수를
http://oauth.gmodules.com/gadgets/oauthcallback로 설정해야 합니다. 이 페이지에서는 팝업 창을 자동으로 닫는 JavaScript 스니펫을 제공합니다. 또는 이 매개변수를 설정하여 자체 '승인됨' 페이지를 가리키도록 하거나 매개변수를 비워 둘 수도 있습니다.
인증된 Google Data API 피드에 액세스
가젯이 사용자를 인증하면 Google Data API JavaScript 클라이언트 라이브러리를 사용하여 Google Data API에 쉽게 액세스할 수 있습니다. OAuth 프록시에서 라이브러리를 사용하는 방법은 JavaScript 클라이언트 라이브러리 사용을 참고하세요.
가젯에 대한 추가 정보
OAuth 프록시에 관한 세부정보, 시작 방법에 관한 도움말, gadgets.* 사양 등 Google Data API 가젯 만들기에 관한 전체 정보는 다음 추가 리소스를 참고하세요.
- JavaScript 클라이언트 라이브러리 사용
- Google Data API 가젯 만들기 (문서)
- OAuth 가젯 작성 (전체 가젯 문서)
- Gadgets API 문서