Google drive api Файлы: get не отображает полные метаданные - PullRequest
0 голосов
/ 17 апреля 2020

Я попытался использовать пример метода get в документации API-интерфейса google drive, однако возвращается не полные метаданные файла, только вот что:

  "kind": "drive#file",
  "id": "1vbLiXALYOYoVev1KD_ajVBfh5_CgvGgP",
  "name": "3.png",
  "mimeType": "image/png",
  "result": {
    "kind": "drive#file",
    "id": "1vbLiXALYOYoVev1KD_ajVBfh5_CgvGgP",
    "name": "3.png",
    "mimeType": "image/png"
  }
}

То, что должно появиться, является чем-то еще поля:

{
 "kind": "drive#file",
 "id": "1vbLiXALYOYoVev1KD_ajVBfh5_CgvGgP",
 "etag": "\"MTU4Njg3NTU3MjUxOQ\"",
 "selfLink": "",
 "webContentLink": "",
 "alternateLink": "",
 "embedLink": "",
 "iconLink": "",
 "thumbnailLink": "",
 "title": "3.png"
// ... and so on

Я получаю полный ответ, когда использую экран «попробуй api» в документах api, но не при вызове из javascript:

function printFile(fileId) {
    appendPre(fileId)
    var request = gapi.client.drive.files.get({
      'fileId': fileId
    });
    request.execute(function(resp) {
        console.log(JSON.stringify(resp, null, 2))
    });
  }

I использовал область действия https://www.googleapis.com/auth/drive.file, которая указана как область, достаточная для выполнения запроса. Помощь!

1 Ответ

1 голос
/ 18 апреля 2020

Как насчет этой модификации?

В Drive API V3, когда свойство fields не используется, возвращается часть полей. Так, например, в вашем случае вы можете получить другие параметры, используя fields: "*". Когда ваш скрипт изменяется, пожалуйста, измените его следующим образом.

С:

var request = gapi.client.drive.files.get({
  'fileId': fileId
});

Кому:

var request = gapi.client.drive.files.get({
  'fileId': fileId,
  'fields': "*"  // Added
});

Ссылка:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...