나는

1

나는 그들이 로그인하지 않은 경우 내 사용자를 대신하여 구글 캘린더에서 약속을 관리하는 응용 프로그램을 구축하고자하는 구글 API v3을 통해 다른 Google 사용자의 달력에 액세스 할 수 있습니다.나는

응용 프로그램은 예약 될 것 서비스를 사용하는 사용자 (서비스 제공 업체)는 사용할 수없는 시간을 예약하고 고객은 서비스 제공 업체의 Google 캘린더의 한가함/바쁨 정보를 볼 수 있습니다.

응용 프로그램을 만들거나 삭제하고 약속을 읽으십시오.

Google 개발자 콘솔로 이동하여 Google 권한 화면을 팝업하는 작업 코드를 작성한 다음 새 약속을 성공적으로 생성 한 URL로 리디렉션합니다.

다른 캘린더에 액세스 할 수 있지만 해당 시간에 Google 서비스에 로그인 한 경우에만 액세스 할 수 있습니다.

$client = new \Google_Client(); 
$client->addScope('https://www.googleapis.com/auth/calendar'); 
$service = new \Google_Service_Calendar($client); 

$authUrl = $client->createAuthUrl(); 

사용자가 자신의 캘린더를 관리하는 경우에도 정상적으로 작동합니다. 그러나 나는 그들을 대신하여 약속을 관리하고 싶다. 여기에는 다른 사람이 캘린더에 약속을 입력 할 때 (예 : 캘린더가 로그인되어 있지 않은 경우)가 포함됩니다.

내 사용자의 캘린더에 지속적인 액세스 권한을 얻으려면 응용 프로그램에 대한 지속적인 권한이 필요합니까?

가능한 경우 누구에게 알리십니까? 내가 어떻게 문제에 접근 할 수 있었는지에 대한 생각은 인정 될 것이다.

답변

1

의 OAuth 2.0 서비스 계정 사용자 계정에 액세스하기위한 적절한 방법입니다 :

https://developers.google.com/accounts/docs/OAuth2ServiceAccount 당신은 필요한 달력 API 범위에 서비스 계정 클라이언트 ID에 액세스 할 수 있도록해야합니다

:

https://developers.google.com/drive/web/delegation#delegate_domain-wide_authority_to_your_service_account

그러면 서비스 계정이 사용자를 가장하여 자신을 대신하여 캘린더 작업을 수행 할 수 있습니다.

https://developers.google.com/drive/web/delegation#instantiate_a_drive_service_object

이 문서는 Google 드라이브를 설명하지만 캘린더 프로세스는 동일합니다.

+0

"도메인 내"는 비즈니스에있을 수있는 도메인과 동일한 것으로 문서는 설명합니다. 알 수없는 제 3자가 응용 프로그램을 통해오고 자신을 인증하고 권한을 부여하면이 기능이 작동합니다. 또는 내 도메인의 캘린더를 발행해야하며 600 명의 사용자로 제한 될 수 있습니다. –

+0

궁금 해서요. 사용자가 선호하는 캘린더와 관련된 이메일을 애플리케이션에 추가하기를 바랍니다. 응용 프로그램에는 연결된 각 달력에 대한 활동을 보여주는 기본 달력이 있습니다. 예를 들어, 각 사용자는 일정이있는 필드 담당자이고 캘린더에 연결하여 응용 프로그램이 모든 이벤트를 표시합니다. 도메인별로 모든 사용자를 관리 할 수 ​​있지만 대부분은 자체적으로 소유하고있는 것으로 알고 있습니다. 도메인 관련 캘린더와 캘린더를 공유 할 수 있지만 모든 담당자에게 새 계정을 발행합니다. 다른 gmail의 외부 캘린더와의 관계를 설명해 주시겠습니까 – zzipper72

+0

동일한 질문이 있습니다. 다른 비즈니스를 위해 두 개 이상의 도메인을 보유하고 있다고 가정 해보십시오. 비즈니스 A : - Employee_a1 - Employee_a2 비즈니스 B : - Employee_b1 모든 직원이 구글 이메일 계정이 있습니다. 각 직원의 캘린더를 양방향으로 동기화 할 수 있습니다. 그러나 Employee_a1에서 Employee_b1 전자 메일 계정을 사용하면 어떨까요? Employee_a1에서 Employee_b1 이벤트가 발생합니까? 따라서이 경우 도메인이 어떻게 작동 할 것인지 잘 모르겠습니다. – ivantxo