#google-drive-api #google-oauth #scopes
#google-drive-api #google-oauth #области
Вопрос:
Я создал приложение, которое должно копировать общедоступный документ Google на Google Диск пользователя, вошедшего в систему. Это работает хорошо, если для области установлено значение https://www.googleapis.com/auth/drive
, но если я ограничу его https://www.googleapis.com/auth/drive.file
, я увижу следующую ошибку:
req-url: https://content.googleapis.com/drive/v3/files/1vpJM9XgJzBI6oHAZCupRTF0TdIvgiq5tTl1kYFt8zLg/copy?alt=jsonamp;key=AIzaSyAON3JJQtrQYO3RcuRQo7BnFw8hzVkEDUE
req-payload: {"name":"Invoice 23rd Apr 11:06pm","parents":["1mnBEoqL677quoLGpKHY-2kzh8j7WU-Od"]}
response:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "notFound",
"message": "File not found: 1vpJM9XgJzBI6oHAZCupRTF0TdIvgiq5tTl1kYFt8zLg.",
"locationType": "parameter",
"location": "fileId"
}
],
"code": 404,
"message": "File not found: 1vpJM9XgJzBI6oHAZCupRTF0TdIvgiq5tTl1kYFt8zLg."
}
}
NOTE
файл src общедоступен по адресуhttps://docs.google.com/document/d/1vpJM9XgJzBI6oHAZCupRTF0TdIvgiq5tTl1kYFt8zLg/edit?usp=sharing
Комментарии:
1. Если «копировать» означает копировать общий документ Google на пользовательский Google Диск, как насчет использования метода Files: copy ? В этом случае, я думаю, что область
https://www.googleapis.com/auth/drive.file
может быть использована для копирования файлов. Итак, как насчет использования этой конечной точки?POST https://www.googleapis.com/drive/v3/files/1vpJM9XgJzBI6oHAZCupRTF0TdIvgiq5tTl1kYFt8zLg/copy
Текст запроса совпадает с вашим. Если я неправильно понял ваш вопрос и это не решило вашу проблему, я приношу свои извинения.2. Я предполагаю, что я использую тот же метод, на который вы указали. То, что я поместил здесь, — это то, что
network-tab
показывает мне Chrome. На самом деле я использую клиентский API Google ( developers.google.com/api-client-library/javascript ). URL-адрес content.googleapis.com/drive/v3/files /… — это то, что создает клиентский SDK3. Спасибо вам за ответ. Я не мог заметить, что вы используете Javascript и метод files.copy из вашего вопроса. Я прошу прощения, что мой комментарий не был полезен для вашей ситуации. А также я должен извиниться за мое плохое знание английского.
4. Большое спасибо @Tanaike . Вы замечательный человек, и ваш английский очень хорош. Я постараюсь найти правильный ответ и опубликую его здесь.