许多正确配置其控制台应用的人都在报告示例中的重定向uri错误。我也这样做,但是我没有使用REST api。
我发现了一个奇怪的行为:
我有两个Google帐户:一个是我的个人帐户,另一个是我的开发者帐户。
我通过我的开发者帐户登录,创建了一个应用程序(称为"我的项目"),启用了google驱动器API,创建了我的客户端ID和Web应用程序的秘密,并运行了示例应用程序(顺便说一下) -
https://developers.google.com/drive/web/quickstart/quickstart-cs
我收到重定向错误,响应详细信息 - 就像其他人一样 - 表示localhost有一个随机端口。我没有使用localhost - 我甚至不想使用localhost。虽然我的计算机也是一个Web服务器,它是重定向的目标,但当我使用另一台没有安装Web服务的计算机时,我会得到相同的行为 - 没有Web服务器。
所以,第一个问题是GoogleClientSecrets只从JSON文件中读取客户端ID和机密,并忽略我在控制台中配置的重定向uri。
好的,所以,经过几天没有解决方案追逐这个问题,我尝试创建另一个客户端ID,这次是安装的应用程序。这对我来说不是首选,因为虽然它将安装在设备上,但它是一个共享设备,不同的用户将使用它。但是现在,我使用了客户端ID和秘密。
嗯,示例应用程序现在可以运行了。除了我上传的文件(使用我为我的开发者应用程序创建的客户端ID和秘密)现在上传到我的个人帐户。
是的,我确保我退出了一切。除Chrome之外,我不使用任何浏览器。我断开了我的Chrome帐户(附加到我的个人帐户)并清除了历史记录并重新运行了示例。我从另一台计算机验证了样本中的文件被上传到了错误的帐户。仍然......谷歌api正在尝试(并成功)将我的示例应用程序文件加载到错误的帐户。它甚至怎么知道那个帐户是什么?
最后一点说明:在我的个人帐户中,我之前在Google云端硬盘中启用了我的示例应用。因此,我将Google云端硬盘配置为不允许在我的个人帐户中使用我的示例应用。
现在,文件不再上传到我的个人帐户了。但是,它们不会上传到我的开发者帐户:错误结果(redirect_uri)
行为似乎是尝试找到允许我的示例应用运行的任何帐户。我没有机会让我的开发者帐户允许我的示例应用,现在也确定如何解决这个问题。
为什么样本要求我使用"安装app"配置,它不会让我使用Web应用程序,这允许我提供重定向url ??