GAE remote API for java :Configuring Remote API on an App Engine Client
RemoteApiInsideAppEngineExample(String username, String password)
throws IOException {
// Authenticating with username and password is slow, so we'll do it
// once during construction and then store the credentials for reuse.
this.options = new RemoteApiOptions()
.server("your_target_app_id.appspot.com", 443)
.credentials(username, password);
RemoteApiInstaller installer = new RemoteApiInstaller();
installer.install(options);
try {
// Update the options with reusable credentials so we can skip
// authentication on subsequent calls.
options.reuseCredentials(username, installer.serializeCredentials());
} finally {
installer.uninstall();
}
}
In my test it always throw exception:
java.lang.IllegalArgumentException: charset may not be null or empty
at com.google.appengine.repackaged.org.apache.commons.httpclient.util.EncodingUtil.getString(Unknown Source)
at com.google.appengine.repackaged.org.apache.commons.httpclient.util.EncodingUtil.getString(Unknown Source)
at com.google.appengine.tools.remoteapi.AppEngineClient$Response.getBodyAsString(AppEngineClient.java:138)
at com.google.appengine.tools.remoteapi.RemoteApiInstaller.getAppIdFromServer(RemoteApiInstaller.java:318)
at com.google.appengine.tools.remoteapi.RemoteApiInstaller.loginImpl(RemoteApiInstaller.java:278)
at com.google.appengine.tools.remoteapi.RemoteApiInstaller.login(RemoteApiInstaller.java:239)
at com.google.appengine.tools.remoteapi.RemoteApiInstaller.install(RemoteApiInstaller.java:106)
…..
I’m sure the username and password is admin one, I use GAE 1.7, Federated Login, High Replication Datastore.
Any ideas?
Thanks.
I think i found the answer, i use federated login, and currently GAE remote API does not support federated login—so bad that i spent much time on debugging.