从谷歌开发者控制台创建了一个项目并创建了一个服务帐户.下载了密钥库.我需要使用google admin sdk来创建/删除/访问用户.我看到了Admin SDK ON API和Auth-> API.由于范围错误而无法获得授权.
public boolean makeConnectionWithGoogleAPI(){
try{
List<String> scopes = Arrays.asList("https://www.googleapis.com/auth/admin.directory.user",
"https://www.googleapis.com/auth/admin.directory.user.readonly");
HttpTransport httpTransport = new NetHttpTransport();
JacksonFactory jsonFactory = new JacksonFactory();
GoogleCredential credential = new GoogleCredential.Builder()
.setTransport(httpTransport)
.setJsonFactory(jsonFactory)
.setServiceAccountId(clientEmail)
.setServiceAccountUser(userId)
.setServiceAccountScopes(scopes)
.setServiceAccountPrivateKeyFromP12File(
new java.io.File(privateKeyStoreLocation))
.build();
Directory admin =
new Directory.Builder(httpTransport, jsonFactory, null)
.setHttpRequestInitializer(credential).build();
Directory.Users.List list = admin.users().list();
Users users = list.execute();
List<User> listUsers=users.getUsers();
for(User user:listUsers){
System.out.println(user.getId());
}
return true;
}catch(Exception e){
e.printStackTrace();
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
com.google.api.client.auth.oauth2.TokenResponseException:400 Bad Request {"error":"access_denied","error_description":"不允许请求的范围:https ://www.googleapis.com/auth/admin. directory.user …