1

useServiceAccountCredential 是否适用于 P12 文件。我正在尝试在 Java 中使用它并得到错误 com.google.appengine.repackaged.com.google.api.client.http.HttpResponseException‌​: 302 Found

4

1 回答 1

0

是的,它确实。您需要有一个 AppEngine 应用程序为远程 API 提供服务。例如,您将有一个 python 应用程序,在 app.yaml 中有以下行:

- url: /remoteapi.*
  script: google.appengine.ext.remote_api.handler.application

或在 web.xml 中具有以下内容的 java 应用程序:

<servlet>
   <display-name>Remote API Servlet</display-name>
   <servlet-name>RemoteApiServlet</servlet-name>
   <servlet-class>com.google.apphosting.utils.remoteapi.RemoteApiServlet</servlet-class>
   <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
   <servlet-name>RemoteApiServlet</servlet-name>
   <url-pattern>/remote_api</url-pattern>
</servlet-mapping>

请注意,根据您的客户,它可能会调用不同的 url,例如 /remote_api

此外,如果您在模块中部署了 AppEngine 应用程序,请在客户端代码中考虑到这一点,您将拥有:

    RemoteApiOptions raoptions = new RemoteApiOptions()
                .server("my-module-dot-my-project.appspot.com", 443)
                .useServiceAccountCredential("my-service-account-id", "my-p12-file.p12");

    RemoteApiInstaller installer = new RemoteApiInstaller();
    installer.install(raoptions);

希望有帮助!

于 2016-01-20T09:00:19.613 回答