我创建了一个服务帐户,并希望代表其他用户创建文件夹。我使用的是Google Drive API v3(PHP)。
我可以在我的服务帐户下创建一个文件夹,并尝试将所有权转让给其他用户。但它不能工作,并显示未经授权的访问。
在https://developers.google.com/api-client-library/php/auth/service-accounts中,它提到“您的应用程序现在有权将API调用作为您域中的用户(”模仿“用户)。当您准备进行授权的API调用时,您将用户指定为模仿。”。我不知道该怎么做。
此外,我注意到一个函数“$ client-> setSubject($ email)”,但我也无法使它工作。
请提供建议和帮助。
答案 0 :(得分:0)
首先,在您执行任何其他操作之前,请确保您了解服务帐户只能模仿其自己的Gsuite域中的用户。他们无法冒充xxx@gmail.com用户。
假设您确实想冒充Gsuite用户, 见https://developers.google.com/api-client-library/php/auth/service-accounts,其中说
如果您已授予对服务帐户的域范围访问权限 您要模拟用户帐户,请指定电子邮件地址 使用方法setSubject的用户帐户:
$客户端 - > SETSUBJECT($ user_to_impersonate);