Java 查询谷歌的目录API-错误:400错误请求
我试图通过Java库使用新的目录API从google的域中获取用户列表:“google-API-services-admin-Directory_v1-rev14-Java-1.17.0-rc”。在成功地进行身份验证并使用管理帐户获取令牌后,我尝试执行获取用户列表的查询,但得到错误400:Bad request 我使用的代码是:Java 查询谷歌的目录API-错误:400错误请求,java,google-admin-sdk,Java,Google Admin Sdk,我试图通过Java库使用新的目录API从google的域中获取用户列表:“google-API-services-admin-Directory_v1-rev14-Java-1.17.0-rc”。在成功地进行身份验证并使用管理帐户获取令牌后,我尝试执行获取用户列表的查询,但得到错误400:Bad request 我使用的代码是: GoogleAuthorizationCodeFlow flow = new GoogleAuthorizationCodeFlow.Builder(TRANSPORT
GoogleAuthorizationCodeFlow flow = new GoogleAuthorizationCodeFlow.Builder(TRANSPORT, JSON_FACTORY, clientSecrets, SCOPES)
.setAccessType("offline").setApprovalPrompt("force").setDataStoreFactory(oData).addRefreshListener(credentialRefreshListener).build();
String url = flow.newAuthorizationUrl().setRedirectUri(redirectURL).build();
System.out.println(url);
System.out.println("Enter Responsse Url");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
AuthorizationCodeResponseUrl authResponse = new AuthorizationCodeResponseUrl(br.readLine());
if (authResponse.getError() != null) {
System.out.println("authorization denied...");// authorization denied...
} else {
GoogleTokenResponse response = flow.newTokenRequest(authResponse.getCode()).setRedirectUri(redirectURL).execute();
System.out.println("Access token: " + response.getAccessToken() + " Expire: " +
response.getExpiresInSeconds());
Credential credential = flow.createAndStoreCredential(response,"user");
Credential credential1 = flow.loadCredential("user");
Directory directory = new Directory.Builder(TRANSPORT, JSON_FACTORY, credential).setApplicationName("TestAPP/1.0").build();
Directory.Users.List list = directory.users().list();
Users users = list.execute();
System.out.println(users.size());
}
接下来,您将找到此问题的日志:
com.google.api.client.googleapis.json.GoogleJsonResponseException: 400 Bad Request
{
"code" : 400,
"errors" : [ {
"domain" : "global",
"message" : "Bad Request",
"reason" : "badRequest"
} ],
"message" : "Bad Request"
}
at com.google.api.client.googleapis.json.GoogleJsonResponseException.from(GoogleJsonResponseException.java:145)
at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:113)
at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:40)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest$1.interceptResponse(AbstractGoogleClientRequest.java:312)
at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:1049)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:410)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:343)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:460)
at net.easysol.google.CreateUser.main(CreateUser.java:63)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
有人想办法解决此问题吗?使用列表时,需要指定域或客户。
使用列表时,需要指定域或客户。
在中编写示例我尝试使用setCustomer和/或setDomain方法,但错误仍然存在。你知道API是否支持商业、教育和政府版本的谷歌应用程序吗。影响我是否有免费帐户?我尝试使用setCustomer和/或setDomain方法,但错误仍然存在。你知道API是否支持商业、教育和政府版本的谷歌应用程序吗。如果我有一个免费帐户会有什么影响?