我在这里转圈了,完全搞混了。我需要帮助。
我正在为客户编写一个应用程序,概念很简单。他想要一个带有按钮的Google写文档。Google驱动器帐户有几个文件夹,每个文件夹都与几个人共享。当他将新文件放入其中一个文件夹时,他希望能够打开此写文件,该文件是他电子邮件的模板。他单击按钮,系统调用Google Drive SDK中的更改服务https://developers.google.com/drive/manage-changes,获取自上次检查以来已添加的文件列表,然后拉取已共享文件的人员列表,并使用写文件作为模板向那些人发送一封电子邮件,告诉他们他们的文件已准备好。
所以,很容易,对吧?
它没起作用。这让我相信它只是对内容进行了简单的全文搜索。那不够好。
这促使我尝试从App Script应用程序中调用Drive SDK方法。很好,我们需要OLap 2身份验证。容易得多。在脚本参考中找到对象并撞上了我的墙。
客户ID和客户机密。
你看,当我创建这个真正的服务帐户时,应用程序脚本中的OLap控件不知道如何处理加密的JSON并来回传递它。然后,当我尝试创建和使用已安装的应用程序密钥时,由于控件再次不知道如何处理工作流程,因此会出现身份验证错误。最后,当我尝试创建Web应用程序密钥时,我无法这样做,因为我没有站点主机名或重定向URI。而且,由于我正在处理文件,因此无法使用应用程序密钥功能,因为需要OLap 2。
我一直在使用匿名的OLap一段时间,但在努力尝试理解代码时,达到了每天匿名调用的限制。这行不通,因为这个人将会不断地按这个按钮。
我已经在这个问题上苦思冥想了五个小时了。 我需要一些帮助,有人能指导我吗?
另外,我知道我可以使用数据库控件并将整个文件列表加载到内存中,然后将其与数据库中的文件列表进行比较。 问题是,我们正在讨论成千上万个文件。 这是一个糟糕的主意。
我正在为客户编写一个应用程序,概念很简单。他想要一个带有按钮的Google写文档。Google驱动器帐户有几个文件夹,每个文件夹都与几个人共享。当他将新文件放入其中一个文件夹时,他希望能够打开此写文件,该文件是他电子邮件的模板。他单击按钮,系统调用Google Drive SDK中的更改服务https://developers.google.com/drive/manage-changes,获取自上次检查以来已添加的文件列表,然后拉取已共享文件的人员列表,并使用写文件作为模板向那些人发送一封电子邮件,告诉他们他们的文件已准备好。
所以,很容易,对吧?
我开始研究Google App Script API中的内置函数。我在DocsList类中找到了这个方法https://developers.google.com/apps-script/class_docslist#find。问题是查询的描述只是说“查询字符串”。所以起初我尝试使用Drive SDK查询参数,它们是:
var files = DocsList.find("modifiedDate > 2012-12-20T12:00:00-08:00.");
它没起作用。这让我相信它只是对内容进行了简单的全文搜索。那不够好。
这促使我尝试从App Script应用程序中调用Drive SDK方法。很好,我们需要OLap 2身份验证。容易得多。在脚本参考中找到对象并撞上了我的墙。
客户ID和客户机密。
你看,当我创建这个真正的服务帐户时,应用程序脚本中的OLap控件不知道如何处理加密的JSON并来回传递它。然后,当我尝试创建和使用已安装的应用程序密钥时,由于控件再次不知道如何处理工作流程,因此会出现身份验证错误。最后,当我尝试创建Web应用程序密钥时,我无法这样做,因为我没有站点主机名或重定向URI。而且,由于我正在处理文件,因此无法使用应用程序密钥功能,因为需要OLap 2。
我一直在使用匿名的OLap一段时间,但在努力尝试理解代码时,达到了每天匿名调用的限制。这行不通,因为这个人将会不断地按这个按钮。
我已经在这个问题上苦思冥想了五个小时了。 我需要一些帮助,有人能指导我吗?
另外,我知道我可以使用数据库控件并将整个文件列表加载到内存中,然后将其与数据库中的文件列表进行比较。 问题是,我们正在讨论成千上万个文件。 这是一个糟糕的主意。
var files = DocsList.find('after:2013-04-06T01:14');
。 - Peter