Публикация дополнения к документации iamblichus Speci c для данных приложения в Google Диске.
Мое приложение использует API Google Диска в серверной части для хранения документов моего пользователи на своем диске. Важно отметить, что я храню данные в папке данных приложения , так что пользователи не могут случайно удалить данные.
Чтобы пользователи могли получать свои документы, которые я использовал для перенаправил пользователя на downloadUrl: https://www.googleapis.com/drive/v2/files/id?alt=media&source=downloadUrl&access_token=ya29.**
, где я добавил alt=media
и access_token
к запросу. Это работало нормально до 1 января 2020 года. Как подтверждено выше. Однако теперь запрос не выполняется с сообщением:
К сожалению ... ... но ваш компьютер или сеть могут отправлять автоматические запросы. Чтобы защитить наших пользователей, мы не можем обработать ваш запрос прямо сейчас.
GET запрос downloadUrl завершился неудачей
В моих попытках найти решение этой проблемы Я пробовал обходные пути , предоставленные Google, но они по моему опыту не работают для документов в application data folder
.
Я пробовал webContentLink
с запрос access_token
в v2, но он завершается неудачно с 401 несанкционированной ошибкой.
alternateLink
в v2 и webViewLink в v3 завершаются с ошибкой:
Требуемый файл не существует.
Я могу ' не используйте exportLinks
, потому что это только для Документов Google.
Я нашел решение: сначала загрузить файл на сервер, используя Google Drive PHP SDK, а затем обслужить его. моим пользователям, использующим заголовок Content-Dispostion
. Такие, как описано здесь . На мой взгляд, он менее элегантен, потому что конечные пользователи не загружают документ напрямую из API Google Drive, но он работает.
Жаль, что Google не обновил свою документацию и не уведомил своих пользователей. ..