Список изменений и получение недостающей информации

Используя Google API Explorer, а также официальную библиотеку C# для Google Drive API v3, в ответе отсутствует большая часть задокументированные поля. Мне особенно нужен доступ к тому, кто внес изменения, который должен быть доступен через $.lastModifyingUser.

Я пробовал это в своей учетной записи администратора домена, а также в служебной учетной записи, поэтому это не должно быть проблемой разрешения, по крайней мере, я не вижу. Что я делаю не так, если что?

Список:

{
 "kind": "drive#revisionList",
 "revisions": [
  {
   "kind": "drive#revision",
   "id": "1",
   "mimeType": "application/vnd.google-apps.spreadsheet",
   "modifiedTime": "2016-11-16T18:29:29.527Z"
  },
  {
   "kind": "drive#revision",
   "id": "14",
   "mimeType": "application/vnd.google-apps.spreadsheet",
   "modifiedTime": "2016-11-16T18:35:49.184Z"
  },
  ...

Однократное получение:

{
 "kind": "drive#revision",
 "id": "134088",
 "mimeType": "application/vnd.google-apps.spreadsheet",
 "modifiedTime": "2017-05-24T11:48:00.788Z"
}

person 3ventic    schedule 06.07.2017    source источник
comment
Я нашел этот старый вопрос, ссылающийся на ту же проблему со старым API v2, где кто-то ответил, что это проблема на стороне сервера, о которой сообщалось, но это было 4 года назад. stackoverflow.com/q/18177577/1780502   -  person 3ventic    schedule 06.07.2017


Ответы (2)


Вам нужно добавить fields="*" или fields="permissions(id,lastModifyingUser)" к вашему запросу, чтобы поручить Диску вернуть весь ресурс. По умолчанию возвращается только минимальный набор свойств.

person pinoyyid    schedule 06.07.2017
comment
Для записи * работал, а список, разделенный запятыми, - нет. - person 3ventic; 07.07.2017
comment
Я считаю, что значения по умолчанию нет, поэтому запрос завершается ошибкой, а не возвращает минимальный набор свойств. - person Peter Scott; 12.11.2018
comment
Для меня даже с * он не возвращает информацию lastModifyingUser. Это связано с разрешениями моего пользователя? На диске я обычно вижу вкладку активности. - person Investigator; 13.11.2018

Мне не удалось получить «lastModifyingUser» из API редакций, но я смог получить «lastModifyingUser» из примера Files.get fro:

    File foundFile = service.files().get(id)
            .setSupportsTeamDrives(true)
            .setFields("parents, webViewLink, properties, lastModifyingUser")
            .execute();

    System.out.println("Found file is " + foundFile);
    System.out.println("Parents " + foundFile.getParents());
    System.out.println("Owners " + foundFile.getOwners());
    System.out.println("Props " + foundFile.getProperties());
    System.out.println("Last user " + foundFile.getLastModifyingUser());
person Investigator    schedule 13.11.2018