gpt4 book ai didi

Python:谷歌驱动器身份验证

转载 作者:行者123 更新时间:2023-11-28 21:42:57 24 4
gpt4 key购买 nike

我的任务是连接到 Google Drive API(在 PyDrive module 的帮助下)并下载一些文件。我以某种方式设法让这个东西在我的本地计算机上运行 - 我在 Google Console 注册了我的“应用程序” ,我下载了 client_secret.json,运行脚本,弹出身份验证窗口,我使用我的 Google 帐户登录并且可以访问 Drive,一切正常。

现在我想在服务器上使用我的脚本,但我基本上不知道该怎么做。我向我的提供商提交了支持票,他们的回答是:


你需要得到这些:

{
"#authJson": "{"access_token":"XXX","token_type":"Bearer","expires_in":3600,"refresh_token":"YYY","created":1457455916}",
"#appKey": "key",
"#appSecret": "secret"
}

其中 #authJson 是“whoevers-drive-you-want-to-to-access”授权的结果,并且和 #appKey 一个 #appSecret 来自 oauth。


我不知道这些到底是怎么得到的。我知道如何下载 client_secret.json。所以问题是:如何获得这些?我什至在正确的轨道上吗?或者需要不同的方法。

理想的最终状态是:为我的 Google 云端硬盘提供某种永久性 access_token,我可以将其传递给应用程序(例如,作为字符串参数)。然后该应用程序连接到我的云端硬盘并下载所需的文件。

最佳答案

编辑:查看预授权服务器应用程序的编辑。

您要找的是CommandLineAuth()来自 PyDrive。

您的代码应如下所示:

from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive


ga = GoogleAuth()
ga.CommandLineAuth() # This line in your code currently calls LocalWebserverAuth()
drive = GoogleDrive(self.ga)
# etc.

当您在服务器上运行脚本时,它会要求您将链接复制粘贴到本地浏览器中。使用特定帐户登录后,您将获得一串看似随机的字母和数字。将该字符串粘贴到您的控制台中,您应该可以开始了。

由于您可能不希望每次脚本运行时都这样做,请考虑将 settings.yaml 文件添加到您的项目中,这样您就可以保存登录凭据。有关如何设置的详细信息,请参阅 docs .


编辑:如果您想在没有进一步身份验证的情况下将 PyDrive 脚本分发到任何服务器,您必须:

  1. 下载client_secret_xxxxx.json
  2. settings.yaml 文件添加到您的项目中,参见template .确保 save_credentials_file: 已设置,例如creds.json
  3. client_secret_xxxx.json中的client-secret等信息复制到settings.yaml文件中。
  4. 在我们的开发机器上完成身份验证过程 - 现在您的文件夹中应该有一个包含凭据的额外文件(例如 creds.json)
  5. 将包含 a) 原始脚本、b) settings.yaml 文件和 c) 生成的 creds.json 文件的整个目录复制到远程机器。确保相对路径不变。
  6. 利润?

注意:Google Drive API 附加了 API 调用限制,防止在 100 秒内调用超过 100 次。

关于Python:谷歌驱动器身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42974329/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com