2015-02-03 4 views
1

링크가 너무 길어서 (일부 URL 매개 변수 등이 있음) Googpe API urlshortener를 사용하여 단축하고 싶습니다. API 키는 Google Developers Console에서 생성됩니다. 핵심은 '공개 API 액세스'및 '서버 응용 프로그램의 핵심'입니다. 이 코드가 작동하지 않는 이유는 누구나 볼 수 있습니까? 나는 너무 오랫동안 이런 일이 일어나도록 노력했다.google-api-client를 사용하여 자바에 짧은 URL을 작성하십시오.

try { 
     String g = "https://www.googleapis.com/urlshortener/v1/url"; 
     String url = g + "?key=secretKey"; 
     HttpClient client = HttpClientBuilder.create().build(); 
     HttpPost post = new HttpPost(url); 

     // add header 
     //post.setHeader("User-Agent", USER_AGENT); 
     post.setHeader("Accept", "application/json"); 

     //add the long url as a parameter 
     List<NameValuePair> urlParameters = new ArrayList<NameValuePair>(); 
     urlParameters.add(new BasicNameValuePair("longUrl", "www.google.com")); 

     post.setEntity(new UrlEncodedFormEntity(urlParameters)); 

     HttpResponse response = client.execute(post); 
     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); 
     } } catch (MalformedURLException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

내가 내 HTTP 요청에 바로 문제가 발생했습니다 추측 400

답변

1

의 응답 코드를 돌려줍니다. 여기에 사용 된 코드를 사용할 때 : http://www.snip2code.com/Snippet/216067/Call-Google-Shorten-URL-API이 작동했습니다.

API가 최근에 변경되었으므로 질문을 삭제하는 대신이 답변을 게시합니다 (2014 년 중반). 이에 대한 업데이트 사례는 많지 않습니다.

여러분 모두에게이 API에 액세스 해 주셔서 감사합니다.