2017-04-27 4 views
0

Google 캘린더 API를 처음 사용하면서 OAuth 용 서비스 계정을 만든 다음 JWT를 사용하여 액세스 토큰을 받았습니다. 그런 다음 캘린더 목록을 가져 오려고했지만 응답으로 캘린더 목록을 가져 오지 못했습니다. 도메인과 비즈니스 계정을 사용하고 있습니다. 내 조직 사용자 캘린더 목록을보고 싶습니다.api를 사용하는 서비스 계정에 Google 캘린더 목록이 표시되지 않습니다.

응답 :

{ 
    "kind": "calendar#calendarList", 
    "etag": "\"p3208dll2qn2d60g\"", 

    "nextSyncToken": "CICG1qLVxNMCEjBtZWV0aW5nQHBvbGV0dXMtY2FsZW5kYXIuaWFtLmdzZXJ2aWNlYWNjb3VudC5jb20=", 
    "items": [] 
} 

에게 superAdmin 권한을 갖는 조직 사용자. 그리고 나는 모든 api 요청에 대해 작동하는 서비스 계정을 사용하여 정상적인 Gmail 계정으로 테스트를 마쳤습니다.

답변

0

서비스 계정은 사용자가 아닙니다. 서비스 계정은 자체 Google 캘린더 계정을 가진 가짜 사용자입니다. 문제의 캘린더를 서비스 계정과 공유했다면 캘린더 목록에 추가되지 않았을 수 있습니다.

모든 캘린더 목록은 GUI의 왼쪽 하단에있는 목록입니다. 경우에 따라 캘린더를 서비스 계정과 공유 할 때 캘린더 목록에 제대로 추가되지 않습니다. calendarlist.insert

사용자가 서비스 계정 전자 메일을 사용하는 다른 사용자와 마찬가지로 공유하도록 일정을 읽는 데 필요한 서버 계정 권한을 부여하지 않은 것으로 가정 할 때 주소.

+0

@DalmTo에 대한 귀하의 의견에 감사드립니다. 너의 요점을 이해했다. 마찬가지로 하나의 조직에서 oauth 서비스 계정을 사용하여 모든 사용자 세부 정보가 필요하지만 'https://www.googleapis.com/admin/directory/v1/users'로이 URL을 시도하고 위의 URL을 사용하여 액세스 토큰을 얻을 수 있지만 내가 액세스 토큰을 사용하여 URL을 실행하면 '404 - 잘못된 요청'오류가 발생합니다. 관리 콘솔 (고급 설정 - API 클라이언트 액세스 관리)에서 범위 URL 'https://www.googleapis.com/auth/admin.directory.user'가있는 서비스 계정 클라이언트 ID를 추가하고 권한을 부여했지만 내 API 사용자 세부 요청에 대한 오류. –

+0

해당 끝 점이 액세스 토큰을 얻지 못할 것이며이를 사용하려면 액세스 토큰이 필요합니다. – DaImTo

+0

우리가 이야기 할 수 있도록 전화를 할 수 있습니까? –