如何在运行应用程序时允许Drive File Picker访问用户Drive正在以我身份执行

时间:2014-11-24 20:08:35

标签: google-apps-script google-drive-api

我正在以我身份执行的应用程序中使用Google Drive File Picker。当用户单击以选择文件时,他们会看到我的驱动器文件夹结构(应用程序正在执行的用户)。

在我的代码中,我引用了Session.getActiveUser,因此我知道用户是谁,可以执行操作并显示适合其帐户的数据。

如何让云端硬盘文件选择器显示活跃用户而不是我的帐户中的文件?我在想如果在应用程序中无法做到这一点,我将如何生成一个单独的窗口,该窗口运行一个不同的Web应用程序,然后在我的应用程序中捕获回调?

2 个答案:

答案 0 :(得分:0)

你不可能(的确)但你可以做的是让应用程序以访问应用程序的用户身份运行,并让这个应用程序调用另一个作为服务运行的应用程序,并以您的身份运行(并执行具有的操作)在你身边完成。)

您可以使用urlFetch service来调用您的应用,向网址添加必要的参数,以识别实际用户(调用应用)和其他安全/日志记录数据(以防止从其他来源访问)。

根据工作流程的复杂程度,这可能很简单,也可能非常复杂,但无论如何都是可行的。

答案 1 :(得分:0)

如果您需要显示当前用户的Google云端硬盘的内容,您可以通过执行Oauth并使用Google Picker来实现。

您可以在此处找到有关Oauth的更多信息:

  

https://developers.google.com/apps-script/reference/script/script-app#getOAuthToken()

另请注意,用户必须为其帐户启用云端硬盘选择器API才能执行Oauth。

然后使用Oauth中的访问令牌,您可以将其传递给Drive Picker以显示内容。

  

https://developers.google.com/apps-script/guides/dialogs#file-open_dialogs

部署应用时,您必须选择:

执行应用程序:用户访问网络应用程序

enter image description here

希望它有所帮助!