2013-11-04 2 views
1

Kinvey handshake을 REST API가 잠시 동안 작동 시키지만 아무런 행운이 없었습니다. 나는 libgdx's net class을 사용하여 http 요청을 보냈습니다. Wverytime 내가 504 (게이트웨이 시간 초과) 오류가 요청을 보냅니다. 웹 사이트의 지시 사항을 따르고 있으므로 왜 그 오류가 발생하는지 확신 할 수 없습니다.Kinvey 핸드 셰이크 (나머지 api)에 액세스하는 중 오류가 발생했습니다.

지금까지 내가 말할 수있는
HttpRequest request = new HttpRequest(HttpMethods.GET); 
    request.setHeader("GET", "/appdata/:App_key"); 
    request.setHeader("Host:", "baas.kinvey.com"); 
    String authHeader = "Basic " + Base64Coder.encodeString("App_key:App_secret"); 
    request.setHeader("Authorization:", authHeader); 
    request.setUrl("https://baas.kinvey.com/appdata/App_key"); 
    System.out.println("HTTP REQUEST: " + request.getHeaders()); 
    responseListener listener = new responseListener() { 
     public void handleHttpResponse (HttpResponse httpResponse) { 

       HttpStatus status = httpResponse.getStatus(); 

       if (status.getStatusCode() >= 200 && status.getStatusCode() < 300) { 
        System.out.println("HTTP SUCCESS!"); 
       } else { 
        System.out.println("HTTP ERROR: " + status.getStatusCode()); 
       } 
       System.out.println("HTTP :" + httpResponse.getResultAsString()); 
     } 

     @Override 
     public void failed(Throwable t) { 
      t.printStackTrace(); 
      System.out.println("REQUEST FAILED!" +t.getMessage()); 
      super.failed(t); 
     } 

    }; 

    Gdx.net.sendHttpRequest(request, listener); 

, 헤더에 문제가있다 :

여기 내 시도이다. 나를 로그인 화면으로 이동시키는 URL을 테스트했습니다. 로그인은 사용자 이름으로 App 키를 입력하고 암호로 Master secret를 입력 한 후에 작동합니다. 분명히 잘못된 것이 있습니까? 이 문제를 더 디버깅 할 수있는 방법이 있습니까?

답변

2

저는 Kinvey의 엔지니어이며, 당신을 도울 수 있습니다.

몇 가지 :

첫 번째는 당신이 필요로하지 않는 것이이 몇 가지 추가 헤더가 있습니다. 그들은 문제의 원인이되지 않을 수도 있지만, 여전히 안전하게 제거 할 수 있습니다 : GET

request.setHeader("GET", "/appdata/:App_key"); 
request.setHeader("Host:", "baas.kinvey.com"); 

참고하면 HttpRequest를 만들 때 설정되며, 사용자가 URL을 정의 할 때 호스트가 설정됩니다.

둘째는, 후 헤더를 설정할 때 "승인"가이처럼 보이게 결장 제거 : 또한

request.setHeader("Authorization", authHeader); 

, 당신은이 앱의 비밀과 마스터 암호를 사용하여 작동하지만 언급 ? 당신은 base64 인코딩을 할 수 있습니까?

마지막으로, App_Key을 URL과 헤더에서 실제 앱 키로 대체해야합니다.

+0

고마워요! 문제는 콜론 GET 또는 호스트 헤더가 아닙니다. 권한 부여 및 호스트에서 콜론을 제거하면 문제가 해결되었습니다. – eBehbahani

관련 문제