1

Does useServiceAccountCredential works with P12 file. I am trying to use it in Java and get error com.google.appengine.repackaged.com.google.api.client.http.HttpResponseException‌​: 302 Found

Manisha Awasthi
  • 449
  • 1
  • 5
  • 16

1 Answers1

0

Yes it does. You need to have an AppEngine app serving the remote API. E.g., you would have a python app, with the following lines in app.yaml:

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

Or java app with the following in web.xml:

<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>

Please note that depending on your client, it might call a bit different url, e.g. /remote_api

Also, if you have deployed the AppEngine app in a module, take that into account in the client code, you would have:

    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);

Hope that helps!

lilline
  • 133
  • 8
  • Above steps give me a 302 response back. – Manisha Awasthi Mar 18 '16 at 12:38
  • @ManishaAwasthi if you get a 302, then the url your client is calling, and the url where your RemoteApi is serving don't match, or you have your RemoteApi in a module, but you're not calling that module's endpoint. – lilline Mar 18 '16 at 14:18