我试图访问" google.com"下的电子表格。通过服务帐户使用Google Drive Java API的域名。我需要导出文档中包含的几个工作表。
我已经能够创建和使用服务帐户(通过Java API使用),但我不确定如何访问,或者我尝试做的事情是否可行。我看到了以下页面:https://developers.google.com/drive/web/delegation但是,与我合作的服务帐户似乎不太可能被授予访问google.com公司域的权限。我们在Google的帐户联系人建议我们查看论坛以获取一些建议。
鉴于此,我对方法有几个问题:
我的猜测是我们需要复制文档,但我想确定,并确保我理解API并正确访问。
谢谢!
答案 0 :(得分:7)
您还必须授予您要访问的驱动器文件中的服务帐户。只需Share
您希望通过 Google Developers Console 中显示的EMAIL ADDRESS
访问的文档(例如XXXXX@developer.gserviceaccount.com
)
答案 1 :(得分:2)
您有权访问该文件吗?尝试使用方法files.get https://developers.google.com/drive/v2/reference/files/get如果您收到200响应然后您有权访问,请尝试查找参数exportlinks 使用这些链接,您可以将文件导出为不同的格式。 否则你就无法做到。
只有获得该文件访问权限的人才能访问该文件。对于具有域管理员批准的委托的服务帐户,服务帐户可以模拟该域中的人员。如果模仿的用户无权访问某个文件,则该服务帐户也无法访问。
要使用Drive API导出文件效果更好,因为您提到Spreadsheets API用于管理电子表格的内容。
如果您想修改信息而不修改原始文件,那么是。
希望这会有所帮助。