2017-05-20 44 views
0

當我將Google雲端硬盤目錄的所有權轉讓給其他用戶時,它不會轉讓其子目錄/文件的所有權。將Google雲端硬盤目錄的所有權轉讓給其他用戶

我可以遞歸地傳輸所有文件,但我覺得這是一個太複雜的解決方案,我也擔心,如果有數百個文件,我可能會收到API限制錯誤。

解釋批量請求的documentation表示這是可能的,但我使用的NodeJS示例似乎並沒有真正發出批量請求,而只是在先前調用成功後才調用相同的API。

是否有一個可能的技巧,我可以用來傳輸目錄和兒童和下一代在一次電話?

回答

1

您可以嘗試searching所有具有該目錄父項的文件。

'1234567' in parents 

然後將其添加到批量請求中。

{ 
    var batch = new googleBatch(); 
    batch.setAuth(authClient.gapi.token); 

    batch.add({ 
     method: 'PUT', 
     fileId: myId, 
     addParents: addParents.join(','), 
     removeParents: removeParents.join(','), 
     fields: ['title', 'id', 'parents'].join(',') 
    }); 

    batch.add({ 
     method: 'PUT', 
     fileId: myId, 
     body: { 
      title: 'myNewTitle' 
     } 
    }); 

    batch.exec(function(errors, responses){ 
     // your stuff 
    }); 

} 

編輯將與您想要實現的代碼相匹配的代碼。請參閱此link中的其他信息。

注:一套ň請求分批在一起向你的使用限制爲ñ請求,而不是作爲一個請求計數。批處理請求在處理之前被分解爲一組請求。

希望這會有所幫助。

+0

這是一個有趣的解決方案。 不幸的是我無法驗證它,因爲我採用了不同的方式獲取用戶權限,因此我的服務器會直接將文件上傳到他的谷歌雲端賬戶,而不是轉移所有權。 我得出這樣的結論:這是一種更好的方式,因爲即使我設法提出批量請求,問題可能是新的所有者會收到數百個電子郵件通知,這些電子郵件通知在轉讓所有權時無法禁用,另一個問題是所有文件將被複制到新所有者的根文件夾中 – Ariel

相關問題