Google 스프레드 시트를 업데이트 할 수있는 서비스 계정을 만들었습니다. 이를 위해 Google 시트를 서비스 계정 이메일 ID와 공유해야했습니다. 이제 사용자의 연락처를 업데이트 할 수 있어야합니다. 자격 증명을 사용할 때 원래 사용자가 아닌 서비스 계정 사용자에 대해 업데이트됩니다. 서비스 계정을 사용하여 업데이트 할 수있는 방법이 있습니까?서비스 계정을 사용하여 다른 사용자의 Google 주소록을 업데이트해야합니다.
0
A
답변
0
번호 연락처는 업데이트하려는 계정의 유효한 인증 세션으로 만 편집 할 수 있습니다.
1
Google Contacts API version 3.0을 사용해 볼 수도 있습니다. 이 API를 사용하면 클라이언트 응용 프로그램에서 사용자의 연락처를보고 업데이트 할 수 있습니다.
그러나 Google 주소록 API를 사용하려면 OAuth 2.0을 사용하여 요청을 승인해야합니다. 이 언급 한 특징으로, 서버 간 상호 작용을 위해, 당신은
delegating domain-wide authority에서당신이 당신의 G 스위트 도메인에있는 사용자의 사용자 데이터에 액세스하려면
, 다음 서비스에 도메인 전체에 대한 액세스 권한을 위임한다는 OAuth 2.0 for Server to Server Applications을 사용할 수 있습니다 계정.
: 서비스 계정에 도메인 전체 액세스 권한이 위임 한 경우
당신은, 사용자 계정을 가장의
setServiceAccountUser
방법으로 사용자 계정의 이메일 주소를 지정하려면GoogleCredential
공장.
응용 프로그램에서 Google API를 호출하려면 GoogleCredential
개체를 사용해야합니다.
GoogleCredential credential = new GoogleCredential.Builder()
.setTransport(httpTransport)
.setJsonFactory(JSON_FACTORY)
.setServiceAccountId(emailAddress)
.setServiceAccountPrivateKeyFromP12File(new File("MyProject.p12"))
.setServiceAccountScopes(Collections.singleton(SQLAdminScopes.SQLSERVICE_ADMIN))
.setServiceAccountUser("[email protected]")
.build();
적절한 권한을 획득 한 후, 당신은 updating contacts를 계속할 수
다음은 도메인 전체에 권한을 위임하는 방법에 대한 예입니다.
희망 하시겠습니까?
감사합니다. 이것은 유용합니다. 그러나 g-suite 계정이있는 경우에만 작동합니까? 서비스 계정 이메일 ID를 공유하여 시트와 비슷한 기능을 수행 할 수 있습니다. 연락처와 비슷한 것은 무엇입니까? –