如何让谷歌驱动器API识别客户端id和秘密的变化



我有两个google帐户-一个是我的个人帐户,另一个是我的开发者帐户。

我设置了控制台,创建了一个项目,启用了驱动器api,创建了客户端id,并下载了JSON文件。我为一个web应用程序和一个已安装的应用程序创建了一个客户端id -每个项目两个客户端id,总共4个。

无论我在代码中使用哪个JSON文件,我的文件都会上传到我的开发人员帐户。

我在一个单独的问题中发布了类似的行为,当时,我所有的文件都被发布到我的个人账户上。这是那个问题的链接:接收错误:redirect_uri_mismatch;错误吗?

自从那个问题之后,我卸载了chrome,删除了硬盘和注册表上我的gmail帐户的任何痕迹,删除了包含凭据缓存(刷新令牌)的数据存储,然后重新运行我的应用程序。当我完成所有这些操作后,我所有的文件现在都被上传到我的开发者账户,而不再是我的个人账户。

我的应用程序将安装在共享设备上,因此,在用户使用完设备后,我希望下一个用户使用他或她的凭据,以便文件上传到他们的帐户。这似乎是行为的方式,所有用户最终将上传到我的开发者帐户。

我做错了什么?

解决方案是确保始终清除浏览器缓存。如果你要开发的应用程序将在计算机/设备上被其他用户共享,你必须确保你的浏览器缓存被清除。这是常识;但是,当您的计算机仅由您自己共享时,这会产生影响。

在我的情况下,我有两个应用程序(两个不同的公司),允许我保存到我的谷歌驱动器。由于使用这两家公司,我想保持账单和文件分开,所以,当我使用公司1的产品保存文件时,我想保存到付费的谷歌驱动器帐户#1;但是当我使用另一家公司的产品时,我想把数据保存到另一个付费的google drive账户中——所有这些都是由办公室的其他人共享的。所以所有的CAD开发人员将CAD文件保存到一个谷歌驱动器帐户,所有的PDF文档作者保存到另一个谷歌驱动器帐户。我们中的一些人在同一台电脑上编写CAD应用程序和PDF文件。

而且,在家里,我和妻子共用家用电脑。我们没有单独的登录-我们是夫妻,没什么大不了的。但她要她的文件在她的google drive账户里,我要我的在我的账户里。无论谁先使用这个应用程序,都可以决定文件将永远存储在谁的驱动器帐户中——直到有人清空浏览器缓存并重新启动这个应用程序。在浏览器中清除密码会影响我们在互联网上访问的所有内容,并且只是为了满足一个产品保存到两个帐户。我们需要创建单独的Window登录,这样就不会有这个问题。好了。: - (

所以请求很简单:当我使用product1 save到google1@gmail.com驱动器时,我每次都提供凭据(或者它们被记住);当我将文件从product2保存到google2@gmail.com驱动器时,我每次都提供凭据(或者它们被记住了)。

有两种身份验证存储:c: 用户… product1.datastore徘徊和c: 用户漫游… product2.datastore

两者都缓存了我的凭据,所以我不知道为什么会出现这样的问题。

无论如何,解决方案是清除缓存。不高兴,但这就是解决办法。

最新更新