La API de Google Docs devuelve un servicio 503 no disponible al cargar un archivo. ¿Ha cambiado algo?

Tengo aplicaciones que hacen uso de la API de Google Docs. Hasta hace poco, las subidas que usaban los puntos finales HTTP funcionaban bien. Recientemente, la carga ha iniciado de repente el error. La primera llamada para crear una sesión (que devuelve la URL recuperable) funciona correctamente y devuelve una URL recuperable. Si intenta enviar el contenido del archivo a la URL que se reanuda, se lanzará un 503.

La parte relevante del código que arroja el error es la siguiente:

URL url = new URL(resumableFileUploadUrl); conn = (HttpURLConnection) url.openConnection(); conn.addRequestProperty("client_id", OAuth2Client.CLIENT_ID); conn.addRequestProperty("client_secret", OAuth2Client.CLIENT_SECRET); conn.setRequestProperty("Authorization", "OAuth " + GetAuthToken()); conn.setRequestProperty("X-Upload-Content-Length", String.valueOf(fileContents.length())); //back to 0 conn.setRequestProperty("X-Upload-Content-Type", "text/xml"); conn.setRequestProperty("Content-Type", "text/xml"); conn.setRequestProperty("Content-Length", String.valueOf(fileContents.length())); conn.setRequestProperty("Slug", fileName); if(isUpdate) { conn.setRequestProperty("If-Match", "*"); conn.setRequestMethod("PUT"); } else { conn.setRequestMethod("POST"); } conn.setRequestProperty("GData-Version", "3.0"); conn.setRequestProperty("User-Agent", "GPSLogger for Android"); conn.setUseCaches(false); conn.setDoInput(true); conn.setDoOutput(true); DataOutputStream wr = new DataOutputStream( conn.getOutputStream()); wr.writeBytes(fileContents); wr.flush(); wr.close(); int code = conn.getResponseCode(); newLocation = conn.getHeaderField("location"); 

El código anterior se utiliza tanto para crear la sesión para obtener la URL recuperable como para publicar el contenido del archivo en la URL recuperable.

Lo que es parte de esta actividad de Android. Estoy incluyendo un enlace a la actividad original ya que probablemente sería bastante fácil reproducir el problema simplemente clonando el repositorio. El código ha permanecido intacto durante un año.

¿Ha cambiado algo recientemente que causaría esto?

Me gustaría evitar tener que usar las API de Google Drive por ahora, ya que no he cambiado ningún código y el mismo código se está utilizando en algunas de mis otras aplicaciones en el campo.

2 Solutions collect form web for “La API de Google Docs devuelve un servicio 503 no disponible al cargar un archivo. ¿Ha cambiado algo?”

Una de las "características" más molestas es el límite de la tasa indocumentada al solicitar imágenes, cada una de las cuales debe ser autenticada. El límite de velocidad parece ser alrededor de 10 / s.

Es posible que utilices la API de Google v2, la cual está obsoleta a partir de ahora. Lea el siguiente post:

 https://developers.google.com/google-apps/documents-list/terms 
  • ¿Cómo puedo tener un ListView dentro de un NestedScrollView
  • ¿Cómo puedo recuperar el tamaño de un archivo durante la descarga de una URL (mediante una conexión http)?
  • Aplicación de Android que requiere archivos de datos grandes
  • Android no pudo resolver todas las dependencias para la configuración 'classpath'
  • ¿Cuál es el punto de cifrar anyting en Android (o Java) si el código fuente puede ser ingeniería inversa?
  • Editar / Eliminar clases en archivos externos de jar de biblioteca de terceros en android?
  • Problemas con el modo inmersivo en Android
  • ¿Por qué no puedo anular onConfigurationChanged (Configuration)?
  • Android - Dibujo de un laberinto de lienzo con el movimiento de caracteres suave
  • NDK: ¿GetByteArrayElements copia datos de Java a C ++?
  • No se puede resolver el símbolo
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.