Google云端点错误响应

时间:2016-02-08 02:41:18

标签: google-app-engine google-cloud-endpoints

我正在使用Google云终端,一切都很好。 但是当我将我的Android密钥和Web密钥更新到生产模式时,每个请求都会返回 200 null或400 null。

我已经重建了项目并且没有任何效果我在Android和api资源管理器中尝试并且都返回:状态代码然后返回null 尽管完整的结果包含在JSON格式的响应中。 我得到了响应,但状态消息始终为null

您可以在此网址上试用并查看结果: https://apis-explorer.appspot.com/apis-explorer/?base=https%3A%2F%2Fcutter-1215.appspot.com%2F_ah%2Fapi#p/userRegistrationApi/v1/userRegistrationApi.signUser

更新: 经过一些实验,谷歌浏览器或安卓设备返回的状态信息为空,但在Firefox上它不是空的并且正常工作。 我不知道是什么原因

2 个答案:

答案 0 :(得分:0)

最新的Chrome版本存在问题。希望在下一个版本或更新chrome中尽快修复它。 即使我面临同样的问题。一个简单的解决方法是在其他浏览器(IE / Firefox / Safari)中测试端点。

希望这有帮助。

答案 1 :(得分:0)

我发现问题是谷歌Chrome新算法可能会删除一些标题以使其浏览器更快。 解决方案是在chrome上,不要使用它并使用任何其他浏览器,它应该正常工作。 但是,在Android上特别是Lollipop(5.0)它基于Chromenum,它基于Chrome ...我面对的问题与谷歌浏览器面临的android和null响应是同样的问题。 我已将Google云端点的用户代理更改为Firefox,一切正常。

private static final String firexFox_userAgent = "Mozilla/5.0 (Windows NT 6.1; rv:40.0) Gecko/20100101 Firefox/40.0";

private static final HttpRequestInitializer intializer = new HttpRequestInitializer() {
    @Override
    public void initialize(HttpRequest request) throws IOException {
        final HttpHeaders headers = request.getHeaders();
        List<String> agents = new ArrayList<>();
        agents.add(firexFox_userAgent);
        headers.put("User-Agent", agents);
    }
};

并将其添加到api builder

private static UserRegistrationApi mUserRegApi mUserRegBuilder = new UserRegistrationApi.Builder(EnpointConsts.sAndroidHttp, EnpointConsts.sGsonFactory,            CredentialHolder.getCredential()).setApplicationName(Consts.APP_ID).setHttpRequestInitializer(intializer);