我已经创建了一个服务帐户来访问用户Google表格以excel格式下载。
假设我的域ID为-abc@mydomain.com, 服务帐户ID-serviceaccount@composed-setup-1234.iam.gserviceaccount.com
当我尝试从服务帐户下载带有Google表格ID的Google表格时,出现此错误。
Google.Apis.Requests.RequestError
File not found: 1-mhsKJ1THbROA7yXRye3JI6cWANAdiMxoD5fKQ-jvSI. [404]
Errors [
Message[File not found: 1-mhsKJ1THbROA7yXRye3JI6cWANAdiMxoD5fKQ-jvSI.] Location[fileId - parameter] Reason[notFound] Domain[global]
]
但是,当我从域ID与服务帐户ID共享Google表格时,我可以下载Google表格。
服务帐户可以访问域用户的驱动器,而无需共享要下载的表。
答案 0 :(得分:2)
服务帐户不是您,请将其视为虚拟用户帐户。
您在Google云端硬盘上的文件是您拥有的私人用户数据。如果您希望我能够下载文件,则需要与我共享文件,服务帐户也是如此。
在使用Oauth2时,会弹出一个窗口,要求用户向应用程序授予对数据的访问权限,并通过与服务帐户手动共享内容来预先授权服务帐户。
服务帐户无法下载其无权访问的文件。您需要与其共享文件才能访问它。