2016-11-22 53 views
0

我正在使用帶有服務帳戶的Java Google Drive API,並且想要刪除自己設置的服裝屬性。Google Drive 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)。在文檔中聲明,「屬性」是任意鍵值對的集合,對所有應用程序都是可見的。並且在更新和複製請求中清除具有空值的條目。另一種可能的方式是使用Drive API的v2,在其中可以選擇[刪除屬性](https://developers.google.com/drive/v2/reference/properties/delete)。希望它可以幫助你。 – KENdi

+0

我試圖用新的元數據更新文件,但不確定的是它不影響屬性。更新調用沒有任何問題。我可以更新該值,但在將值設置爲null時,它不會刪除該屬性。 –

+0

哦,我需要爲這個項目使用版本3,因此我不能使用API​​的第2版。 –

回答

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與{ '屬性':{ '關鍵':空}}

感謝