0
- 我在開發者控制檯中創建了谷歌應用程序。
- 啓用管理SDK
- 啓用API訪問權限
- 在 「管理OAuth客戶端訪問」 我補充道 「授權API客戶端」 與 「https://www.googleapis.com/auth/admin.directory.user」 範圍。
此外,我想從我的域名獲得用戶。谷歌管理員非管理員用戶的SDK
JsonFactory JSON_FACTORY = JacksonFactory.getDefaultInstance();
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
ArrayList<String> scopeList = new ArrayList<>();
scopeList.add(DirectoryScopes.ADMIN_DIRECTORY_USER_READONLY);
GoogleCredential credential = new GoogleCredential.Builder()
.setTransport(httpTransport)
.setJsonFactory(JSON_FACTORY)
.setServiceAccountId("[email protected]")
.setServiceAccountScopes(scopeList)
.setServiceAccountPrivateKeyFromP12File(new File("p12 file")))
.setServiceAccountUser("[email protected]")
.build();
credential.setAccessToken("access token of current google user");
Directory admin = new Directory.Builder(httpTransport, JSON_FACTORY, credential)
.setApplicationName("Capsidea")
.setHttpRequestInitializer(credential).build();
return admin.users().list().setDomain("my-domain.com").execute();
當我通過OAuth通過[email protected]登錄到谷歌時,它正在工作。 但是當我通過[email protected] logined我有錯誤: 「無權訪問該資源/ API」
一個非管理員用戶可以得到一個列表的域中的所有用戶? 當域更改此代碼將工作,因爲有必要指定superadmin'a? 有什麼建議嗎?