2013-04-11 42 views
2

在Google雲端硬盤中,可以搜索文件'不屬於我'。 我需要通過Google Apps腳本訪問此功能。 我已經嘗試DocsList.find(「不是'我'在所有者」);這似乎是在驅動器API中實現它的方式,但沒有成功(事實上,我以我的所有者身份得到了我的文件)。我也用我的電子郵件地址替換了我,但沒有引號,但又沒有成功。如何在Google應用腳本中找到我不屬於我的文件

有誰知道這是可能的(而不是通過遍歷所有文件和檢查getOwner()。getEmail()手動,這將給予該特定用戶所擁有的文件的大量花費的時間太長了。)

回答

2

該函數將返回與您共享的所有文件的數組。它使用Advanced Drive Service,它必須是enabled before use

/** 
* Get array of files on user's Google Drive that have been shared with them. 
* From https://stackoverflow.com/a/15947340/1677912 
* 
* @returns {Array} Array of file resources 
*      (see https://developers.google.com/drive/v2/reference/files#resource) 
*/ 
function getSharedWithMe() { 
    var optionalArgs = {q:"sharedWithMe=true"}; 
    var sharedFiles = Drive.Files.list(optionalArgs); 
    debugger; // pause in debugger 
    return sharedFiles.items; 
} 

你可以做同樣的事情,沒有代碼,通過使用谷歌驅動器SDK「資源管理器」。

請參閱this previous answer使用此技術獲取已刪除文件的列表。

您會在Google Drive SDK文檔頁面的底部找到文件列表的Files List API Explorer。有關搜索條件的信息,請參閱Search for files。對於我們的目的,我們只會使用sharedWithMe

Screenshot query

如果你把「田」的空白,你會得到上已知的對共享文件的一切。您可以使用難看的減號標記展開和摺疊結果。但限制輸出是有幫助的。我用items(id,selfLink,owners/displayName)。下面是如何看起來:

Screenshot results

+0

謝謝,原來我需要查詢的話(業主MYEMAILADDRESS')在通話,但由此產生的JSON正是我需要在我的appscript做我想做什麼。 – jankeir 2013-04-11 12:52:24

相關問題