google google-drive-sdk google-spreadsheet google-spreadsheet-api

google-drive-sdk - google drive api upload file



La API de Google Drive dice que algunos archivos no existen cuando de hecho lo hacen (2)

Por lo tanto, llegué al punto en mi aplicación donde puedo recuperar una lista de documentos de la cuenta de Google Drive de un usuario mediante la API de hoja de cálculo de Google. Completo la lista de archivos en un control de usuario en el que los usuarios pueden hacer clic para luego recuperar la lista de sus hojas de trabajo. Está funcionando como se esperaba en algunos casos, pero en otros no. En mi solicitud, uso la URL que vuelve de la lista de archivos, y aún así, la API responde con:

Sorry, the file you have requested does not exist. Make sure that you have the correct URL and that the owner of the file hasn''t deleted it.

Bueno, seguramente el archivo no fue eliminado. Lo recuperé en la respuesta a mi solicitud de la lista de archivos. También puedo acceder al archivo a través de un navegador web normal. Además, la URL es correcta porque es con la que respondió la API. Mi código no manipula la URL que aparece en la respuesta inicial de los archivos. De hecho, aquí está la URL que se utiliza para tomar las hojas de trabajo:

https://spreadsheets.google.com/feeds/worksheets/{long key here}/private/full

Entonces, mi pregunta es por qué mi solicitud de algunas hojas de trabajo regresa con una respuesta con la lista real de hojas de trabajo, pero en otras (a las que tengo acceso, y sé que existe) obtengo la respuesta incorrecta.

Gracias, Arie


Me encuentro con esto en mis propias cosas. Al menos por lo que me encuentro, parece ser un problema con New Sheets. Lamento no tener más solución (todavía estoy tratando de averiguar qué solucionar de mi parte) pero esto puede ayudar a reducir el problema.


Mi aplicación usa OAuth 2.0 y encontré el mismo error con las nuevas Hojas de cálculo de Google. Lo que se solucionó era realizar un cambio en el parámetro de alcance enviado durante la llamada autorizada de OAuth y luego volver a autorizar (reiniciar el flujo OAuth y obtener nuevos tokens).

Hasta ahora el alcance en mi aplicación era simplemente:

https://spreadsheets.google.com/feeds

Alcance y solución actualizados al problema en mi caso:

https://spreadsheets.google.com/feeds https://docs.google.com/feeds