400状态,带“;无效授权”;使用Google API时出错';Java上的s
我有一个后端进程,它试图自动创建谷歌应用程序用户,直到上周为止,他们一直在工作(据我所知,没有任何变化)。类似于这个问题的其他问题的代码似乎与我的代码无关,或者与我的代码有太大的不同,因为代码被用来提供帮助 以下代码是生成帐户的代码:400状态,带“;无效授权”;使用Google API时出错';Java上的s,java,google-api,google-api-java-client,Java,Google Api,Google Api Java Client,我有一个后端进程,它试图自动创建谷歌应用程序用户,直到上周为止,他们一直在工作(据我所知,没有任何变化)。类似于这个问题的其他问题的代码似乎与我的代码无关,或者与我的代码有太大的不同,因为代码被用来提供帮助 以下代码是生成帐户的代码: private static String GMAIL_DOMAIN = "obfuscated.com"; private static String GAPPS_EMAIL = "1234567890-a978g
private static String GMAIL_DOMAIN = "obfuscated.com";
private static String GAPPS_EMAIL = "1234567890-a978g6e789gage96gaf6ag997gawg@developer.gserviceaccount.com";
private static JsonFactory JSON_FACTORY = JacksonFactory
.getDefaultInstance();
HttpTransport httpTransport = GoogleNetHttpTransport
.newTrustedTransport();
List<String> scopes = new ArrayList<String>();
scopes.add(DirectoryScopes.ADMIN_DIRECTORY_USER);
scopes.add(DirectoryScopes.ADMIN_DIRECTORY_GROUP_MEMBER);
File p12 = new File("/opt/gapps.p12");
GoogleCredential credential = new GoogleCredential.Builder()
.setTransport(httpTransport).setJsonFactory(JSON_FACTORY)
.setServiceAccountId(GAPPS_EMAIL)
.setServiceAccountPrivateKeyFromP12File(p12)
.setServiceAccountScopes(scopes)
.setServiceAccountUser("obfus@cated.com")
.build();
Directory service = new Directory.Builder(httpTransport,
JSON_FACTORY, credential).setApplicationName("Obfuscated")
.build();
// All of these local variables are set further up in the code.
com.google.api.services.admin.directory.model.User gappsUser = new com.google.api.services.admin.directory.model.User();
UserName gappsUsername = new UserName();
gappsUsername.setGivenName(fname);
gappsUsername.setFamilyName(lname);
gappsUsername.setFullName(fname + " " + lname);
gappsUser.setName(gappsUsername);
gappsUser.setPrimaryEmail(username);
gappsUser.setPassword(password);
Directory.Users.Insert gappsRequest = service.users().insert(
gappsUser);
gappsRequest.execute();
我已经验证了p12文件仍然存在,并且就服务帐户凭据而言,所有内容都匹配。我不确定过去一周左右会发生什么变化,但由于缺乏研究成果,我不知道该去哪里寻找,也不知道该做些什么来补救这种情况。如果其他人也经历过类似的事情,我一定会感谢你的帮助
com.google.api.client.auth.oauth2.TokenResponseException: 400 Bad Request
{ "error" : "invalid_grant" } at
com.google.api.client.auth.oauth2.TokenResponseException.from(TokenResponseException.java:105)
at
com.google.api.client.auth.oauth2.TokenRequest.executeUnparsed(TokenRequest.java:287)
at
com.google.api.client.auth.oauth2.TokenRequest.execute(TokenRequest.java:307)
at
com.google.api.client.googleapis.auth.oauth2.GoogleCredential.executeRefreshToken(GoogleCredential.java:384)
at
com.google.api.client.auth.oauth2.Credential.refreshToken(Credential.java:489)
at
com.google.api.client.auth.oauth2.Credential.intercept(Credential.java:217)
at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:859) at
com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:419)
at
com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:352)
at
com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:469)