Выполняя мои модульные тесты, я обнаружил, что на Android я не получаю полный документ об атоме, в то время как код работает нормально для JSE.
URL-адрес: https://www.googleapis.com/buzz/v1/activities/@me/@consumption?max-results=25
Заголовки запроса:
авторизация: [OAuth oauth_token = "validToken", oauth_consumer_key = "анонимный", oauth_version = "1.0", oauth_signature_method = "HMAC-SHA1", oauth_timestamp = "1282297108", oauth_nonce = "8688" = 8505) 0985705705645 *
Код для создания HTTP-запроса
public static String send( HttpsURLConnection request )
throws BuzzIOException
{
StringBuffer response = null;
try
{
// Send request
request.connect();
// Read response
InputStream is = request.getInputStream();
response = new StringBuffer();
byte[] b = new byte[4096];
for ( int n; ( n = is.read( b ) ) != -1; )
{
response.append( new String( b, 0, n ) );
}
}
catch ( Exception e )
{
throw new BuzzIOException( e );
}
//TODO remove debug line, i could set log4j but it is not compatible with android
try{
Class<?> clazz = Class.forName("android.util.Log");
Method androidLog = clazz.getMethod("d", new Class[]{String.class,String.class});
androidLog.invoke(null, "BuzzIO",response.toString());
} catch (Exception e) {
System.out.println(response.toString());
}
return response.toString();
}
Ответ, который я получаю, является недопустимым фидом атомов, потому что он усекается. ожидаемая длина составляет около 86043 символов, но я получаю ответ только с 4435