使用Google Play服务缩短网址

时间:2014-09-27 17:21:41

标签: android google-api google-play-services google-api-java-client url-shortener

有没有办法缩短Android上的网址。我在Google Play服务库(https://code.google.com/p/google-api-java-client/)上注意到了一些内容

或者我应该使用HTTP POST来获取新的URL?

提前致谢!

1 个答案:

答案 0 :(得分:1)

1º在Manifest中授予Internet权限。

2º在AsyncTask中使用此功能:

private final String GOOGLE_URL = "https://www.googleapis.com/urlshortener/v1/url";

public static String getShortUrl( String _url ){
    HttpParams httpParameters = new BasicHttpParams();
    int timeoutConnection = 5000;
    HttpConnectionParams.setConnectionTimeout(httpParameters, timeoutConnection);
    int timeoutSocket = 10000;
    HttpConnectionParams.setSoTimeout(httpParameters, timeoutSocket);

    HttpClient hc = new DefaultHttpClient(httpParameters);

    HttpPost request = new HttpPost(GOOGLE_URL);
    request.setHeader("Content-type", "application/json");
    request.setHeader("Accept", "application/json");

    JSONObject obj = new JSONObject();
    obj.put("longUrl", _url);
    request.setEntity(new StringEntity(obj.toString(), "UTF-8"));

    HttpResponse response = hc.execute(request);

    if ( response.getStatusLine().getStatusCode() == HttpStatus.SC_OK )
    {
     ByteArrayOutputStream out = new ByteArrayOutputStream();
     response.getEntity().writeTo(out);
     out.close();              
     return out.toString();
    }
    else {
     return null;
    }
   }
   catch ( Exception e ) {
    e.printStackTrace();        
   }
   return null;
}