2013-08-26 1 views
1

Cleartrip Flight API를 사용하여 항공편 세부 정보를 얻고 있습니다. API 키를 사용하여 URL을 요청하면 "서비스에 액세스 할 수있는 권한이 없습니다."라는 오류가 표시됩니다. 다음은 아파치 HttpComponents를 사용하는 Java 코드입니다.Cleartrip Flight API - "서비스에 액세스 할 수 없습니다"오류

HttpHost proxy = new HttpHost ("My IP", Port No, "http");

String url = "https://api.cleartrip.com/air/1.0/search?from=BOM&to=DEL&depart-date=2013-06-06&return-date=2013-06-06";

//String url = "http://www.google.com/search?q=developer"; 

    HttpClient client = new DefaultHttpClient(); 
    client.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy); 
    HttpGet request = new HttpGet(url); 

    // add request header 
    request.addHeader("X-CT-API-KEY", "My API Key"); 
    request.addHeader("User-Agent", "Mozilla/5.0"); 



    System.out.println(" header "+request.getHeaders("X-CT-API-KEY")[0]); 
    HttpResponse response = client.execute(request); 

    System.out.println("\nSending 'GET' request to URL : " + url); 
    System.out.println("Response Code : " + 
        response.getStatusLine().getStatusCode()); 

    BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent())); 

    StringBuffer result = new StringBuffer(); 
    String line = ""; 
    while ((line = rd.readLine()) != null) { 
     result.append(line); 
    } 

    System.out.println(result.toString()); 
} 

아무도 도와 줄 수 있습니까?

답변

2

심지어 같은 문제가있었습니다. 나중에 나는 모든 api (당신이 노래 부르는 과정에서 얻는)가 기본적으로 차단된다는 것을 알게되었다. 메일을 작성해야합니다. [email protected]

그들은 회사 세부 정보, 비즈니스 모델 및 비즈니스 사례를 질문 할 것입니다. 그들이 그 세부 사항에 만족하면 API 키를 차단 해제합니다.

내 프로젝트가 내 마지막 학기를위한 것이므로 내 API 키 쿼리를 거부했습니다.

여기 내 Java 코드를 공유하고 있습니다. 그래서 그것은 어떤 사람에게는 유용 할 수 있습니다.

 HttpClient client = new DefaultHttpClient(); 
     String getURL =URL; 
     Log.d("URL",getURL); 
     HttpGet get = new HttpGet(getURL); 
     get.setHeader("X-CT-API-KEY", (my api key)); 
     HttpResponse responseGet = client.execute(get); 
     HttpEntity resEntityGet = responseGet.getEntity(); 
     if (resEntityGet != null) 
     { 
      Log.i("GET ", EntityUtils.toString(resEntityGet)); 
     } 

나는이 API를 사용할 수있는 권한이 없으므로 다음 응답을 받았습니다.

https://api.cleartrip.com/air/1.0/search?from=BOM&to=DEL&depart-date=2013-11-11&return-date=2013-12-12 
을 다음과 같이

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><faults xmlns="http://www.cleartrip.com/apigateway/common"><fault><fault-message>Not authorized to access the service</fault-message></fault></faults> 

HTTP URL은