【问题标题】:Shorter URL with Google Play Service使用 Google Play 服务的网址更短
【发布时间】:2014-09-27 17:21:41
【问题描述】:
【问题讨论】:
标签:
android
google-api
google-play-services
google-api-java-client
url-shortener
【解决方案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;
}