我观察到 Google API 服务帐户在尝试读取文件时收到 404(即调用 files.get 方法https://developers.google.com/drive/api/reference/rest/v3/files/get )
即使文件共享设置为“知道链接的任何人都可以查看”,也会发生这种情况,
如果仅使用非限制的 scopes 即 drive.file 而不是限制级别的 drive.readonly,就会发生这种情况。
最近认证要求的收紧意味着使用drive.readonly现在需要在CASA 3级(即企业级)进行安全评估。
允许应用程序读取用户公开提供的文件是如此困难,这似乎有点奇怪?我找不到任何地方明确说明这一点,所以我想知道我是否误解了什么。
即使文件共享设置为“知道链接的任何人都可以查看”,也会发生这种情况,如果您访问 Google Drive Web 应用程序并与某人共享文件并获取链接。此链接允许他们在 Google Drive Web 应用程序中查看文件,这与文件本身的底层权限无关。服务帐户将无法使用此功能。
最近认证要求的收紧意味着使用drive.readonly现在需要进行CASA 3级(企业级)的安全评估。服务帐户不需要验证,因为它们没有同意屏幕。
允许应用程序读取用户公开提供的文件是如此困难,这似乎有点奇怪?如果文件是公开的,则情况有所不同,需要将文件设置为公开。然后您需要从 URL 栏中获取文件 ID,服务帐户将能够读取它。
https://docs.google.com/document/d/[THIS IS THE FILE ID]/edit#heading=h.in4bminrdc6r