2013-05-27 2 views
1

Google에 새로운 디렉토리 API를 호출하는 데 문제가 있습니다. 나는 항상 http : "이 리소스/api에 액세스 할 수있는 권한이 없습니다"라고 항상 금하고 있습니다.Google Admin SDK 디렉토리 API를 호출 할 때 승인되지 않음

디렉토리 api에 액세스하려면 oauth2와 서비스 계정을 사용하고 있습니다. 의 OAuth 티켓은 다음과 같은 범위에 대한 요청 :

"https://www.googleapis.com/auth/admin.directory.user" 
"https://www.googleapis.com/auth/admin.directory.group" 
"https://www.googleapis.com/auth/admin.directory.orgunit" 

서비스 계정은 API 프로젝트 및 관리자 SDK 서비스가 활성화의 소유자입니다. oauth 요청에 Principal을 제공하지 않으면 oauth 토큰을 얻지 만 admin API에 대한 요청은 실패합니다.

oauth 티켓 신청서에 교장을 제공하면 교장이 관리자인데도 티켓이 발급되지 않습니다.

작동하도록 서비스 계정에 추가 권한을 주어야 하나, 내가 놓친 부분이 있습니다. 동일한 서비스 계정이 캘린더 API에 적합합니다.

+0

당신은 관리 타사 OAuth 액세스 서비스 계정의 클라이언트 ID를 추가 했습니까? (단계는 여기에 캡처됩니다 : https://developers.google.com/drive/delegation#delegate_domain-wide_authority_to_your_service_account) – Emily

+0

나는 성취하려고 노력하고 있습니다. 친절하게 접근에 대한 자세한 내용을 제공하십시오. [내 문제는 여기에 나와 있습니다.] (http://stackoverflow.com/questions/22172909/using-google-directory-api-to-fetch-all-users-in-a-domain) @Tor Jonsson – yomexzo

답변

1

인증을 초기화 할 때 ServiceAccountUser를 할당 했습니까? 도메인 관리자 계정으로 설정하기 전에 동일한 오류가 발생했습니다.

See this one.

+0

도움 주셔서 감사합니다. ! https://www.googleapis.com/auth/admin.directory.user.readonly 범위를 요청했기 때문에 인증 요청이 실패한 것으로 나타났습니다. 그것은 무의미했습니다. 그 범위를 제거하면 모든 것이 잘 작동합니다. –