首页 文章

谷歌 Cloud endpoints 错误响应

提问于
浏览
0

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

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

您可以在此URL处尝试并查看结果: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

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

    希望这可以帮助 .

  • 0

    我发现问题是Google Chrome新算法可能会删除一些 Headers 以使其浏览器更快 . 解决方案是在chrome上,不要使用它并使用任何其他浏览器,它应该正常工作 . 但是,在Android上尤其是Lollipop(5.0)它基于Chromenum,它基于Chrome ...我面对的问题与谷歌浏览器面临的问题是我面对android和null响应是响应 . 我已将Google Cloud endpoints 的用户代理更改为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构建器中

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

相关问题