我使用的是谷歌雲端硬盤API在C#中複製,更改所有者和刪除文檔的所有權限,這裏是我如何做到這一點後:文件在我的網盤仍然可見改變所有者和刪除所有權限
File file = User1DriveService.Files.Copy(fileWithTitleChanged, OriginalFile.Id).Fetch()
//new owner permission
Permission newOwnerPermission = new Permission();
newOwnerPermission.Value = User2Email;
newOwnerPermission.Type = "user";
newOwnerPermission.Role = "owner";
newOwnerPermission.WithLink = false;
User1DriveService.Permissions.Insert(newOwnerPermission, file.Id).Fetch();
//remove all permissions, using User2 DriveService
permissionList = User2DriveService.Permissions.List(file.Id).Fetch();
foreach (Permission CurrentPermission in permissionList.Items)
{
User2DriveService.Permissions.Delete(file.Id, CurrentPermission.Id).Fetch();
}
//update name and folder for User2
File FileCopyProperties = new File();
FileCopyProperties.Parents = newParentReferenceList; //folder in User2 drive
FileCopyProperties.Title = NewFileTitle;
User2DriveService.Files.Update(FileCopyProperties, file.Id).Fetch();
一切工作正常,除了用戶1仍然可以看到他的驅動文件。不是一直都在,但它總是最終顯示,有時在過程後的幾個小時。另外,我使用API在這些複製文檔上運行了僞造的用戶權限插入/刪除,這些文檔從User1 Drive消失,但幾小時後又重新出現。我甚至無法使用User1的API訪問這些文檔。當我點擊來自User1的那些文件時,它說我沒有訪問權限並且需要請求它。
一切都是在用戶2側的罰款。
這不是一個瀏覽器緩存的問題,因爲我已經清楚一切,改變了瀏覽器,甚至是電腦多次。
從谷歌的任何人能告訴我,如果這是改變文檔的擁有者正確的方法是什麼? –
更新:幾周前我在Google與某人談過話,並且我的代碼中的一切都很好,問題出在Drive前端,根據他的說法,這可能需要一點時間才能修復。 –