Ошибка CORS при попытке открыть файлы из Google Drive v2 API - PullRequest
2 голосов
/ 25 февраля 2020

Я размещаю веб-приложение на https://app.mindmapmaker.org

Я использую API Google для чтения и сохранения файлов с Google Диска.

Перейти к Моему веб-приложению. Затем из меню он вызывается через меню «Документ» -> «Открыть» -> «Открыть» (в Google Диске) и «Документ» -> «Сохранить как ...» -> «Сохранить» (в Google Диске). )

Начиная с прошлой недели существует проблема с открытием файла с Google Диска. Нет проблем с сохранением файла.

При открытии я получаю это сообщение в консольном журнале в браузере Chrome:

Доступ к XMLHttpRequest по адресу https://00e9e64bacb81ac463650ab754319d41f4469e8ae3f0d4efe7-apidata.googleusercontent.com/download/drive/v2/files/1TpPiniJUuVBgakcujo8TP-f-U8ovkHhb?qk=AD5uMEthpuLU3VV0nxYsl6lQ9J9tyL51LyZ0vo4HBJ1K8ubIinpwcXqIicmHanPDUUOp53WvBZYhjYFCHgjkSANG7WiX1Zs5tepeXqj-m5Pr8zM-5MPjiC67vKoq1D-yDGLuaP2wOSJEmlGjiGlafeE4Irr44qz9S9X4GZIf7YhJ2ze_Ls4YlgrFYUGzeYLhLVOgQfVz8Q6oP-WkLwHtAqbwpi9ZOeUxU_8CYliomPoaIZ3nuw_37IMiCkgSil90WXLm1bvmSrOaggJzIh40EbWoPem7lRr7Erquh6EZcOxFAAT4Ez8u-J2lCYYwAwlY8Y82-SNIeFSf8J9FrfKT3qCLsDrsb4ZJbb44TWWcyf8ZGWOM0J9Z-WvVvFAjnpjXU4WH0k-9YgNCgPmGtJ6M1Rnvv9x5xhDthyPB-29tHWU8wzMZTvfMucf0KfkiigHhLybZQdycXGBiDdMFlRv7RsA40S6jyJV6exeAjSUUCt8El0jkQhs877Bacps_XXTdr10WulNB-cjOXOU36hyOmr7k4f2Gzz51lJkt6WiiCGJMw3V-ILV-abaVCxo-ukH5fFVCvulvPqWtCNRJKtiVW5gHqnIVWss7ELtbpN68Z__KTeVl3P6eBDMDuhLtm2yjVq6qLEny_ygE_hWRIiX4ibK1JPv7X5X1vsKo4manbRsJ7GbmahxP4xeTZTXcOuT-SqzET4TRlzWwlQHtcEj1Su8Kpkp2VY2ZT5Twsp2afX5rIYNInlDoGQBLgf1zkH3iuSLcHx2bTf1Nklo01Z79Svx2ZTh0rb8dOAU0Q58x-ViNs0E0XdoKZ5W1v4tHiCObqYuIgjn7Aw3C2HsYwLR7HrNDuBcfqD3k4kWQzIqT21EZITZLrLl7X7wCNtPE7RrHfRb6KWR73v9Nh2CHLLOMg7Z5Gi3RkS6un2atfzy4xQamI9blpjwVe6kTPa5DbL6skYd6r26BRw98oA1rhqvxMNGeCxrmdSvpgdfgTc96Xa-41G1XaD_z5o-NeGrD2-Y7e9AjzReN2kkauTVYl6jcwn1V20oGu36Y0oW1MlnnPg363ZQ0Hd49htI '(перенаправлено из' https://content.googleapis.com/drive/v2/files/1TpPiniJUuVBgakcujo8TP-f-U8ovkHhb?key=AIzaSyAFn0-DGYnY1oOJ2pQfPpbc6zDeALMqmeg&alt=media&source=downloadUrl ') из источника' https://app.mindmapmaker.org 'было заблокировано политикой CORS: Ответ на предпечатный запрос не проходит проверку контроля доступа : На запрашиваемом ресурсе отсутствует заголовок «Access-Control-Allow-Origin».

Как это исправить? Любая помощь будет оценена. Нужно ли что-то изменять в API консоли Google?

Я использую nginx сервер.

Я уже пытался добавить заголовки, например

location / {
    add_header Access-Control-Allow-Origin *;
}

Но это не работает.

Пожалуйста, помогите.

1 Ответ

1 голос
/ 23 марта 2020

Я наконец нашел решение. Я не знаю, является ли это временным исправлением или постоянным.

Я нашел решение от https://developers.google.com/drive/api/v2/reference/files/get

В коде загрузки, в Javascript, мы используем

xhr.open('GET', file.downloadUrl);

Вместо file.downloadUrl мы должны использовать

downloadUrl = "https://www.googleapis.com/drive/v2/files/" + fileId; 
xhr.open('GET', downloadUrl);

Заменить fileId на fileId файла из Google Drive.

Вы можете просмотреть демо на https://app.mindmapmaker.org Там вы можете открыть файл. json с Google Диска.

Вы также можете увидеть демо на этом сайте, http://mindmap.kwebpia.net/

...