Google Répertoire Admin API est de retour 400 bad request
Je suis en train d'expérimenter avec le client Java pour Google Admin SDK, plus précisément le Répertoire de l'API. Il est basé sur l'utilisation de GoogleCredentials tout comme Google Drive API. Cependant, contrairement à Google Drive je suis de 400 bad request erreurs avec Répertoire. J'ai d'installation de l'API, comme suit:
Directory directory = new Directory.Builder(TRANSPORT, FACTORY, credential).build();
Directory.Users.List list = directory.users().list();
Users users = list.execute();
La dernière execute() produit de l'erreur et de la trace de la pile indiquée au bas de la poste. Je suis à l'aide de la suite étendues à l'autoriser à moi-même. J'ai aussi utiliser le Lecteur de l'API comme vous pouvez le voir.
https://www.googleapis.com/auth/userinfo.profile
https://www.googleapis.com/auth/userinfo.email
https://www.googleapis.com/auth/drive
https://www.googleapis.com/auth/admin.directory.user
D'accès au Disque API travaille comme un charme. Je peux demander des fichiers sans problèmes. Si j'ai effectuer une opération simple sur le Répertoire de l'API, cependant, j'obtiens l'erreur et la trace de la pile énumérés ci-dessous. Je dois mentionner qu'à la fois le Lecteur de l'API et le Répertoire de l'API se référer au même domaine Google Apps pour qui je suis un administrateur. J'ai aussi activé les deux Api Google API console. Pour le reste, je ne peux pas comprendre ce que je fais mal et je me demandais si quelqu'un d'autre a vu quelque chose de semblable ou contraire a de l'expérience, l'accès à cette API via le client Java.
Merci,
Ralph
[ERROR] com.google.api.client.googleapis.json.GoogleJsonResponseException: 400 OK
[ERROR] {
[ERROR] "code" : 400,
[ERROR] "errors" : [ {
[ERROR] "domain" : "global",
[ERROR] "message" : "Bad Request",
[ERROR] "reason" : "badRequest"
[ERROR] } ],
[ERROR] "message" : "Bad Request"
[ERROR] }
[ERROR] at com.google.api.client.googleapis.json.GoogleJsonResponseException.from(GoogleJsonResponseException.java:145)
[ERROR] at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:111)
[ERROR] at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:38)
[ERROR] at com.google.api.client.googleapis.services.AbstractGoogleClientRequest$1.interceptResponse(AbstractGoogleClientRequest.java:312)
[ERROR] at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:1042)
[ERROR] at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:410)
[ERROR] at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:343)
[ERROR] at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:460)
[ERROR] at com.arcus.example.server.api.DirectoryAPI.getEmails(DirectoryAPI.java:29)
[ERROR] at com.arcus.example.server.action.CreateExampleDelegate.execute(CreateExampleDelegate.java:29)
[ERROR] at com.arcus.example.server.action.CreateExampleActionHandler.execute(CreateExampleActionHandler.java:28)
[ERROR] at com.arcus.example.server.action.CreateExampleActionHandler.execute(CreateExampleActionHandler.java:13)
[ERROR] at com.gwtplatform.dispatch.server.AbstractDispatchImpl.doExecute(AbstractDispatchImpl.java:156)
[ERROR] at com.gwtplatform.dispatch.server.AbstractDispatchImpl.execute(AbstractDispatchImpl.java:112)
[ERROR] at com.gwtplatform.dispatch.server.AbstractDispatchServiceImpl.execute(AbstractDispatchServiceImpl.java:84)
[ERROR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[ERROR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
[ERROR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[ERROR] at java.lang.reflect.Method.invoke(Method.java:601)
[ERROR] at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:561)
[ERROR] at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:208)
[ERROR] at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248)
[ERROR] at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
[ERROR] at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
[ERROR] at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
[ERROR] at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263)
[ERROR] at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178)
[ERROR] at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
[ERROR] at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62)
[ERROR] at com.gwtplatform.dispatch.server.AbstractHttpSessionSecurityCookieFilter.doFilter(AbstractHttpSessionSecurityCookieFilter.java:69)
[ERROR] at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
[ERROR] at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
[ERROR] at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118)
[ERROR] at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)
[ERROR] at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
[ERROR] at com.google.appengine.api.socket.dev.DevSocketFilter.doFilter(DevSocketFilter.java:74)
[ERROR] at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
[ERROR] at com.google.appengine.tools.development.ResponseRewriterFilter.doFilter(ResponseRewriterFilter.java:123)
[ERROR] at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
[ERROR] at com.google.appengine.tools.development.HeaderVerificationFilter.doFilter(HeaderVerificationFilter.java:34)
[ERROR] at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
[ERROR] at com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:63)
[ERROR] at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
[ERROR] at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43)
[ERROR] at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
[ERROR] at com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:125)
[ERROR] at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
[ERROR] at com.google.appengine.tools.development.DevAppServerServersFilter.doDirectRequest(DevAppServerServersFilter.java:369)
[ERROR] at com.google.appengine.tools.development.DevAppServerServersFilter.doDirectServerRequest(DevAppServerServersFilter.java:352)
[ERROR] at com.google.appengine.tools.development.DevAppServerServersFilter.doFilter(DevAppServerServersFilter.java:115)
[ERROR] at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
[ERROR] at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
[ERROR] at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
[ERROR] at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
[ERROR] at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
[ERROR] at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
[ERROR] at com.google.appengine.tools.development.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:97)
[ERROR] at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
[ERROR] at com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:438)
[ERROR] at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
[ERROR] at org.mortbay.jetty.Server.handle(Server.java:326)
[ERROR] at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
[ERROR] at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:938)
[ERROR] at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)
[ERROR] at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
[ERROR] at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
[ERROR] at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
[ERROR] at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
OriginalL'auteur Rlp | 2013-05-24
Vous devez vous connecter pour publier un commentaire.
Le problème est que vous ne spécifiez pas l'utilisateur à une utilisation ou le domaine à utiliser,
vous devez ajouter ces informations ici:
Maintenant, si vous avez des problème de permission sur le code de retour de l'erreur 403 = autorisation d'émettre.
OriginalL'auteur Sabrina
La solution est:
SERVICE_ACCOUNT_PKCS12_FILE_PATH = emplacement du Fichier de la clé API (Console)
SERVICE_ACCOUNT_EMAIL = Compte de Service de l'API COnsole
Ajouter le champ d'application à partir du panneau de contrôle de votre domaine, à l'aide de la méthode du Compte de Service
https://developers.google.com/drive/delegation
Et activer Admin SDK dans votre API Console.
OriginalL'auteur Jorge Santamaria
Si vous utilisez Maven, il suffit d'ajouter les lignes suivantes à votre pom.xml:
OriginalL'auteur Catalin