2016-12-12 2 views
0

Документация на накопитель revisions указывает, что установка свойства keepForever на ревизии будет «держать ревизию навсегда, даже если она больше не является версией главы».Редакции, отмеченные как keepForever, не сохраняют правильное содержимое файла

В соответствии с описанной функциональностью я создаю новый двоичный файл и устанавливаю для свойства keepForever значение true. Затем я загружаю новую версию того же файла и устанавливаю keepForever в true для новой версии. Несмотря на то, что в первой ревизии задано keepForever, содержимое файла первой версии не сохраняется; они меняются на самую последнюю загруженную версию.

Я неверно истолковал функциональность keepForever, или проблема, о которой я описал, не ожидал функциональности, т. Е. Ошибка?

Ниже приведены общедоступные идентификаторы файлов и идентификаторы версий файла, демонстрирующие эту проблему. Пересмотр 1 должен содержать содержание file 1, а ревизия 2 должна содержать содержание file 2, но обе версии содержат file 2.

GET https://www.googleapis.com/drive/v3/files/0ByY6IA02pFulZG50RFRFQ2tHWms/revisions 


{ revisions: 
    [ { id: '0ByY6IA02pFulOEZWN0dGYlMrOHVVNStPL21kR1N2WnhaSExRPQ', 
     modifiedTime: '2016-12-12T01:40:08.744Z', 
     keepForever: true }, 
    { id: '0ByY6IA02pFulNGh1MVFEWmlUM1RtRWUrMkswNjk3Y3pMZ25BPQ', 
     modifiedTime: '2016-12-12T01:40:23.356Z', 
     keepForever: true } ] } 

Использование node.js request модуля это запрос HTTP делается:

request({ 
    method : 'PATCH', 
    headers : { 
     'Content-Type' : 'application/octet-stream' 
    }, 
    url : `https://www.googleapis.com/upload/drive/v3/files/0ByY6IA02pFulZG50RFRFQ2tHWms`, 
    qs : { 
     uploadType : 'media', 
     keepRevisionForever : true 
    }, 
    body : fileStream 
}) 

ответ

0

При создании и обновлении бинарного файла, я думаю, вам нужно установить свойство файла ресурса: keepRevisionForever. Обратите внимание, что это отличается от имени соответствующего свойства ревизии: keepForever.

В keepRevisionForever по умолчанию false и необязательный параметр запроса, описанный на V3 Drive API, и createupdate запросов.

+0

1. Где находится 'keepRevisionForever' в документации на Drive? Я не вижу его в списке свойств ресурса файла, а также в списке свойств ресурса ревизии. 2. Для любой ревизии, которая не является первой версией, будет ли установка 'keepForever' в true поддерживать содержимое ревизии навсегда? – sabrehagen

+0

Я попытался предоставить '{keepRevisionForever: true}' как часть первого раздела multipart 'application/json' для начальной загрузки файла, но первая версия файла все еще перезаписывается. – sabrehagen

+0

Извинения за отсутствие в документах. Мой go-to google search не нашел страницу, которая удивительно редка для Google! https://www.google.com.au/search?q=%22keepRevisionForever%22 – sabrehagen

 Смежные вопросы

  • Нет связанных вопросов^_^