我正在编写一组允许用户在其域上运行管理功能的 Powershell Cmdlet。使用 gData,我已经能够进行配置调用来创建新用户、列出组和其他类似的东西。当试图列出另一个用户的文档(作为管理员)时,我遇到了 DocsList api 的障碍,所以我转而使用 Google Drive api。
我已经能够让 Drive API 工作,并根据他们的QuickStart for DotNet和File List Example运行 Cmdlet 。但是,我似乎无法弄清楚如何让它为另一个用户列出文档。到目前为止,我发现的所有内容似乎都指向使用服务帐户进行委派或使用旧的 DocList api ,无论如何,它已被贬低以支持 Drive API。
我的问题是服务帐户似乎是已安装应用程序的替代品,而不是我可以同时使用的东西。或者,如果我能够让它工作,我将不得不让每个用户创建自己的项目和服务帐户,如果我理解的话。
如何在不给用户带来不便的情况下做到这一点?他们已经将自己认证为管理员,我不明白为什么他们必须创建一个 API 项目和服务帐户来实现相同的目标。我会为我的 API 项目创建一个服务帐户吗?如果是这样,我如何处理它生成并需要访问的公钥?如果我扔掉密钥文件,那似乎不太安全。