0

나는 스프링 웹 기반의 자바 애플리케이션을 가지고있다. 이 나머지 웹 서비스를 호출 할 때마다 내 애플리케이션이 Google 드라이브 계정에 파일을 업로드하도록합니다.자바 용 Google 드라이브 API 클라이언트 라이브러리를 사용하여 드라이브의 파일을 업로드하는 인증

나는 this을 발견했다.

응용 프로그램에서 업로드하기 전에 계정을 인증하려면 어떻게해야합니까? Google OAuth2.0 for web application server application이 필요합니까? 또는 quick start guide for java의 인증 방법을 통해 신청할 수 있습니까? OAuth를 처음 사용합니다.

Google 드라이브 인증 및 드라이브 API 사용에 대한 가이드가 있습니까?

설치된 응용 프로그램에 대한 Google Oauth2.0과 웹 응용 프로그램 서버용 Google Oauth2.0의 차이점은 무엇입니까? 각각은 언제 사용해야합니까?

답변

1

빠른 시작에서 인증 방법을 사용한 경우 파일 업로드에 대한 인증 된 요청을해야합니다.

는 Quickstarts를의 서버 응용 프로그램 및 인증 방법에 대한 약간의 설명을 제공합니다 :

Server Application Authentication 대부분의 클라우드 API를 사용자가 아닌 프로젝트 기반 데이터에 액세스 할 수 호출 특히 API 요청을 승인 service accounts과 쌍 특정 데이터. 웹 서버 응용 프로그램은 사용자 인증과 함께 서비스 계정을 사용할 수 있습니다.

이 OAuth 2.0 흐름은 특히 사용자 인증을위한 것입니다. 기밀 정보를 저장하고 상태를 유지할 수있는 응용 프로그램 용으로 설계되었습니다. 적절하게 인증 된 웹 서버 애플리케이션은 사용자가 애플리케이션과 상호 작용하는 동안 또는 사용자가 애플리케이션을 떠난 후에 API에 액세스 할 수 있습니다. 자바 스크립트 (클라이언트 측)과 같은 몇 가지의 OAuth 2.0 인증이 암시 부여 흐름라고하지만

OAuth 2.0 for Installed App

. 사용자가 응용 프로그램에있는 동안에 만 API에 액세스하는 응용 프로그램 용으로 설계되었습니다. 이러한 응용 프로그램은 기밀 정보를 저장할 수 없습니다.

이 흐름에서 앱은 검색어 매개 변수를 사용하는 Google URL을 열어 앱과 앱에 필요한 API 액세스 유형을 식별합니다. 현재 브라우저 창이나 팝업에서 URL을 열 수 있습니다. 사용자는 Google 인증을 받고 요청 된 권한을 부여 할 수 있습니다. 그런 다음 Google은 사용자를 귀하의 앱으로 리디렉션합니다. 리디렉션에는 앱이 확인한 다음 API 요청을 수행하는 데 사용하는 액세스 토큰이 포함됩니다.

희망이 도움이됩니다.

+0

설치된 앱의 OAuth 2.0에 사용자 작업이 필요하다는 의미입니까? Google 드라이브 계정을 가지고 있고 자습서에서 제안한대로 client_secret.json을 사용하여 응용 프로그램을 실행하고 있는데도 요청한 권한을 인증하고 부여하려면 사용자 작업이 필요합니까? 내 응용 프로그램은 서버에서 실행되며 웹 서비스 끝점은 일부 이벤트에서 트리거되고 끝점은 트리거 된 요청을 처리하고 드라이브 계정에 파일을 업로드합니다. 앱은 이것과 별개로 아무것도하지 않습니다. 우리는 사용자의 행동을 포함시켜이를 달성하기를 원하지 않습니다. 단 하나의 사용자 드라이브 계정 만 필요합니다. – rsnhah

+0

나는 머리가없는 신청이 있고 나는 사용자 동의를 요구하지 않기 때문에 서비스 계정을 위해 OAuth2.0를 사용했다. https://developers.google.com/identity/protocols/OAuth2ServiceAccount – rsnhah