我正在构建一个需要将文件上传到属于用户的Google云端硬盘的php网络应用(让他们称他为Bob)。我使用了Google Drive service account(让我们称之为service@gmail.com)。
Bob在其Google云端硬盘中创建了一个文件夹("上传")并与service@gmail.com共享。
服务帐户(service@gmail.com)可以使用Drive API列出该共享上传文件夹中的文件并将文件上传到该文件夹。上传的文件也会显示在Bob的Google云端硬盘中。到目前为止一切都很好。
service@gmail.com上传的文件的所有者是service@gmail.com,正如人们所料。这会产生以下后果:
如何处理这个用例(干净利落)?我看到了两种可能的解决方案:
Google Apps客户:您无法将自己域外的人视为Google文档的所有者。只有Premier,Government和Education域中的Google Apps客户才能转让同步或上传文件(如PDF或图像文件)的所有权。
Consumer Drive用户:您无法转移同步或上传文件(如PDF或图像文件)的所有权。
请帮忙!
的信息答案 0 :(得分:1)
我认为你应该看到这个页面:Perform Google Apps Domain-Wide Delegation of Authority。此页面显示如何使用SA代表Bob
用户调用请求。此页面包含Java
代码,其中介绍了如何为Drive
创建Bob
对象。使用此Drive
,您将能够上传文件,文件的所有者将是Bob
而不是service@gmail.com。我经常使用这种方法,它对我有用。