代码500谷歌应用程序引擎Android不合理地出现,阻止了云数据存储检索

代码500谷歌应用程序引擎Android不合理地出现,阻止了云数据存储检索,android,google-app-engine,google-cloud-datastore,gae-eclipse-plugin,Android,Google App Engine,Google Cloud Datastore,Gae Eclipse Plugin,当我尝试在我的Android应用程序中使用GAE检索特定实体时,我遇到了以下错误(只有部分实体,其他实体工作正常)。错误是: com.google.api.client.googleapis.json.GoogleJsonResponseException: 500 Internal Server Error { "code" : 500, "errors" : [ { "domain" : "global", "message" : "Internal Error",

当我尝试在我的Android应用程序中使用GAE检索特定实体时,我遇到了以下错误(只有部分实体,其他实体工作正常)。错误是:

com.google.api.client.googleapis.json.GoogleJsonResponseException: 500 Internal Server Error
{
  "code" : 500,
  "errors" : [ {
    "domain" : "global",
    "message" : "Internal Error",
    "reason" : "internalError"
  } ],
  "message" : "Internal Error"
}
com.google.api.client.googleapis.json.GoogleJsonResponseException: 500 Internal Server Error
{
  "code" : 500,
  "errors" : [ {
    "domain" : "global",
    "message" : "Internal Error",
    "reason" : "internalError"
  } ],
  "message" : "Internal Error"
}
{
  "code" : 500,
  "errors" : [ {
    "domain" : "global",
    "message" : "Internal Error",
    "reason" : "internalError"
  } ],
  "message" : "Internal Error"
}
500 Internal Server Error
{
  "code" : 500,
  "errors" : [ {
    "domain" : "global",
    "message" : "Internal Error",
    "reason" : "internalError"
  } ],
  "message" : "Internal Error"
}
{"code":500,"errors":[{"domain":"global","message":"Internal Error","reason":"internalError"}],"message":"Internal Error"}
这似乎没有什么帮助,我尝试通过链接中的顶部答案添加日志记录,但也没有效果(没有日志发布到云控制台,或者至少我尝试创建的任何日志)。我的实体类主题由以下内容定义:

public class ZooperTheme {
    @Id
    private String themeID;
    public String creator;
    public String date;
    public String address;
    public int version;
    public String name;
    public int size;
    public int downloads;
    public int favorites;
    public int hides;
    public int popularity;
    public int errors;
    public String items;
它对每种类型都有相应的getter/setter。themeID是从1、2、3等开始的长字符串,并转换为字符串。当我使用以下代码时,一切都能正常工作(它下载所有主题信息并转换为SQL db:

themeendpoint.Builder endpointBuilder = new themeendpoint.Builder(
        AndroidHttp.newCompatibleTransport(),
        new JacksonFactory(),
        new HttpRequestInitializer() {
            public void initialize(HttpRequest httpRequest) { }
        });
endpointBuilder.setApplicationName(mCtx.getString(R.string.app_name));
themeendpoint endpoint = CloudEndpointUtils.updateBuilder(
        endpointBuilder).build();
DbAdapter dbAdapter = new DbAdapter(mCtx);
dbAdapter.openWrite();
dbAdapter.wipeThemeData();
try {
    CollectionResponseTheme response = endpoint.listTheme().execute(); 
    List<Theme> listResponse = response.getItems();

    for (Theme zt : listResponse) {

        String themeID = zt.getThemeID();
        String creator = zt.getCreator();
        String date = zt.getDate();
        String address = zt.getAddress();
        int version = zt.getVersion();
        String name = zt.getName();
        int size = zt.getSize();
        int popularity = zt.getPopularity();
        String items = zt.getItems();
        if (!(items != null)) {
            items = "";
        }
        dbAdapter.insertTheme(themeID, creator, date, address, "" + version, name, "" + size, "" + popularity, items);
    }

theme2工作正常,但theme1出现了500代码错误!两者之间的唯一区别是,对于主题“1”,Items列包含信息(仅一个字符串“test”)和主题“2”该列为空。除此之外,没有区别。我已经用其他Themeid测试过,并且一致地,如果Items列为空,代码工作,如果其中有任何内容,代码500出现。这里可能发生什么情况?

所以我最终让它工作。我从未解决过问题,但问题已经解决作者:

  • 将包/SHA1添加到公共API下的凭据页面(我怀疑这是否有任何作用,因为这不是访问问题”

  • 扔掉所有东西,重新上传新实体下的数据库。之后,问题再也没有出现


  • 日志中的堆栈跟踪是怎么说的?日志中没有显示任何内容,这是非常奇怪的部分!
        Theme theme2 = endpoint.getTheme("2").execute();
        Theme theme1 = endpoint.getTheme("1").execute();