[英]How to get metadata of an unshared file from another user with google drive api?
我目前正在使用Admin SDK中的Google Reports API開發 C#asp.net mvc網絡應用程序,以便在Google雲端硬盤上發生問題時接收通知。
然后,我還需要使用Drive REST API GET Request通過使用Reports API給出的doc_id
來構建文件Path(以及更多)。
一切正常,除非Report API通知我另一個用戶未共享的文件。 Drive REST API試圖查找文件失敗。
這是返回的錯誤404:
Google.Apis.Requests.RequestError
File not found: 0B48ytfDI5h8qY2k4VzdjMkZRNXM [404]
Errors [
Message[File not found: 0B48ytfDI5h8qY2k4VzdjMkZRNXM] Location[file - other] Reason[notFound] Domain[global]
]
我正在使用此范圍: DriveService.Scope.Drive
文件所有者可以使用此表單查看其文件的元數據,並且我仍然遇到錯誤404。
我是硬盤管理員,在我的Google Apps管理員設置中,即使使用域中“所有人”上的“默認共享鏈接”,我也嘗試了不同的配置,但均未成功。
所以我的問題是:當您不是文件所有者並且文件不共享時,是否可以獲取文件元數據?
PS:我正在使用Google Apps進行與我的工作域相關的無限工作,因此我認為至少可以以元數據文件的身份獲取admin,即使該文件未共享也是如此。
據我所知,在Drive API中訪問用戶文件的唯一方法是通過為Web應用程序設置服務帳戶。 您可以在“驅動器API”文檔的“ 域委托”下了解更多信息。
簡要說明一下:
服務帳戶是屬於您的應用程序而不是單個最終用戶的帳戶。 這使您的應用程序有權以您域中的用戶身份進行API調用(也可以“模擬”用戶)。
首先,必須執行以下任務:
現在,需要授予您創建的服務帳戶訪問要訪問的Google Apps域的用戶數據的權限。 這將要求管理員在管理控制台中授權服務帳戶。 因為它是在文檔中已經提供,您可以訪問在適當的步驟文檔 。
現在,您的應用程序可以代表您的Google Apps域的用戶實例化授權的雲端硬盤服務對象(即元數據 )。 希望這會有所幫助,祝你好運!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.