Android: загрузка изображения из публикации c Папка Google Диска в ImageView работает случайным образом - PullRequest
0 голосов
/ 15 февраля 2020

Я работаю над приложением, которое отображает изображения, хранящиеся в моей личной учетной записи на Google Диске в общедоступной папке c, и я получаю к ним доступ и загружаю в ImageView следующий URL:

https://drive.google.com/uc?export=download&id=imageId

И поэтому я использую следующий фрагмент кода для загрузки изображения в ImageView с помощью Picasso:

String imageLink="https://drive.google.com/uc?export=download&id="+imageId;
ImageView imageView = (ImageView) findViewById(R.id.imageView);
Picasso.with(this).load(imageLink).into(imageView);

И он работал нормально до вчерашнего дня, с того момента, когда он начал работать случайным образом, скажем, иногда изображение загружается, а иногда нет, и вы просто видите пустой ImageView (не знаю причину).

Это действительно странно, потому что, когда он перестает работать, он перестает работать на некоторое время, а затем, после многих попыток его может внезапно начать работать снова и так: s

Я также пробовал следующий URL с теми же результатами:

https://drive.google.com/uc?id=imageId

Я думаю, что было бы лучше внедрить Google Drive Rest API в мое приложение, но я читал документацию и не нахожу ее тривиальной, поэтому решил отказаться.

Я предпочитаю использовать только метод url, потому что он намного проще, но в cas Вы думаете, что API - это единственное решение, рабочий пример которого очень ценится.

BTW; если я использую URL в браузере, изображение отображается / загружается правильно, хотя оно преобразуется во что-то вроде этого:

https://doc-0g-bs-docs.googleusercontent.com/docs/securesc/76n246a8a2lbkhsdab1lp67gphlf8cpm/i1ue4k811iltbcb797njulf061flfdpg/2581292320200/05260912172022660129/05860924272025660129/10_DnmLE22AvRB2eRHaTi8RLCrgVopoHC?authuser=0&nonce=2td2b6i2brn2u&user=02222914122025660129&hash=2odo2ssceotbocirunbn4vqj26l2h6fl

Любая помощь?

Редактировать: я заметил, что Google Drive Ответ - простая ошибка http 403 без дополнительного описания (или, по крайней мере, в исключении Picasso не будут отображаться дополнительные данные).

Edit1: я подозреваю, что это может быть связано с подключением Inte rnet. Когда он перестает работать (возвращая 403), если я перезагружаю свой телефон, он снова начинает работать (только с подключением к данным, а не с Wi-Fi). Может быть, Google Drive блокирует IP-адрес моего мобильного подключения после многих запросов (или, по крайней мере, это единственное, что приходит мне в голову).

Edit2: Может быть, только я делаю много тестов / запросов от тот же ip, и именно поэтому Google Drive блокирует мой ip или, может быть, это общая проблема, и если множество пользователей будут выполнять запросы одновременно, произойдет ли то же самое? Мне нужно найти решение, и если нет никого (не поверите), по крайней мере, советы о других бесплатных сервисах размещения изображений, которые я могу использовать для загрузки изображений в своем приложении (в ImageView) из облака.

...