2016-11-22 1 views
0

Я использую API Google Диска для Java с учетной записью службы, и я хочу удалить свойства костюма, которые были установлены мной.Google Диск Java API V3 удалить настраиваемое свойство

В https://developers.google.com/drive/v3/web/migration Я прочитал, что мне нужно обновить файл с картой, где я поместил ключ с нулевым значением.

(files.update with {'properties':{'key':null}})

мой код выглядит следующим образом:

File body = new File(); 
Map<String, String> map = new HashMap<>(); 
map.put(propertyName, null); 
body.setProperties(map); 
service.files().update(fileId, body).execute(); 

Содержание JSON является {properties={test=null}}

Приведенный выше код работает без каких-либо исключений, но свойство еще установлен. Как удалить свойство?

+0

Вы можете попробовать обновить файлы с помощью [ 'файлы: update'] (https: // developers.google.com/drive/v3/reference/files/update), если он работает в вашем случае. В документации указано, что 'properties' - это набор произвольных пар ключ-значение, которые видны для всех приложений. И записи с нулевыми значениями очищаются при обновлении и запросах на копирование. Другим возможным способом является использование v2 API-интерфейса Drive, где есть опция [удаление свойств] (https://developers.google.com/drive/v2/reference/properties/delete). Надеюсь, это поможет вам. – KENdi

+0

Я попытался обновить файл новыми метаданными, но, к сожалению, это не влияет на свойство. Вызов обновления работает без проблем. Я могу обновить значение, но оно не удаляет свойство при установке значения в значение null. –

+0

О, и мне нужно использовать версию 3 для этого проекта, поэтому я не могу использовать версию 2 API. –

ответ

0

Fromapi V2 - v3 при удалении, обновлении свойств и некоторых других вызовах функций выполняется несколько изменений. Пожалуйста, проверьте
https://developers.google.com/drive/v3/web/migration#methods
На этой странице вы можете найти properties.delete, properties.get и properties.insert
для deleteproperties в v3
PRIVATE: files.update с { 'appProperties': { 'ключ': нулевой} }
PUBLIC: files.update с { 'свойства': { 'ключ': нулевой}}

Благодаря