Google Admin SDK、特に Directory API の Java クライアントを試しています。これは、Google Drive API と同様に GoogleCredentials の使用に基づいています。ただし、Google Drive とは異なり、Directory で 400 - bad request エラーが発生します。次のように API をセットアップします。
Directory directory = new Directory.Builder(TRANSPORT, FACTORY, credential).build();
Directory.Users.List list = directory.users().list();
Users users = list.execute();
最後の execute() は、投稿の下部に記載されているエラーとスタック トレースを生成します。次のスコープを使用して自分自身を承認しています。ご覧のとおり、Drive API も使用します。
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
Drive API へのアクセスは魅力的です。問題なくファイルをリクエストできます。ただし、Directory API で単純な操作を実行すると、以下に示すエラーとスタック トレースが表示されます。Drive API と Directory API の両方が、私が管理者である同じ Google Apps ドメインを参照していることに注意してください。また、Google API コンソールで両方の API を有効にしました。残りの部分については、自分が何を間違っているのか理解できず、他の誰かが似たようなものを見たり、Java クライアントを介してこの API にアクセスした経験があるかどうか疑問に思っています。
ありがとう、
ラルフ
[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)