我的任务是连接到googledriveapi(在PyDrive module的帮助下)并下载一些文件。我设法让这个东西在我的本地电脑上运行——我在Google Console注册了我的“应用程序”,下载了client_secret.json
,运行了脚本,验证窗口弹出了,我用我的Google帐户登录,驱动器可以访问,一切正常。在
现在我想在服务器上使用我的脚本,但我基本上不知道该怎么做。我向我的供应商提交了一张支持票,他们的回答是:
你需要得到这些:
{
"#authJson": "{"access_token":"XXX","token_type":"Bearer","expires_in":3600,"refresh_token":"YYY","created":1457455916}",
"#appKey": "key",
"#appSecret": "secret"
}
其中#authJson
是“您想要访问的驱动器的任何人”授权和
而#appKey
一个#appSecret
来自oauth。在
我不知道怎么弄到这些。我知道如何下载client_secret.json
。所以问题是:如何得到这些?我走对了吗?或者需要不同的方法。在
理想的最终状态是:
对我的Google驱动器进行某种永久性的access_token
,我可以将其传递给应用程序(例如,作为一个字符串参数)。然后应用程序连接到我的驱动器并下载所需的文件。在
您需要经过身份验证才能访问某人的专用驱动器帐户。他们将不得不通过一个网络浏览器第一次这样做,一旦他们授予你的访问权,你应该只保存上面的刷新令牌。刷新令牌将使您能够随时从服务器端脚本访问它们的数据。参见:Python Quickstart
如果您只访问您个人控制的驱动器帐户,请使用OAuth 2.0检查服务器到服务器应用程序的服务帐户
编辑:有关预授权的服务器应用程序,请参见编辑。在
您要查找的是PyDrive中的^{} 。在
您的代码应该如下所示:
当您在服务器上运行脚本时,它会要求您将链接复制粘贴到本地浏览器中。一旦你用一个特定的帐户登录,你会得到一个看似随机的字母和数字串。把这个字符串粘贴到你的控制台,你应该可以开始了。在
由于您可能不希望每次脚本运行时都这样做,所以考虑向您的项目添加一个
settings.yaml
文件,该文件允许您保存登录凭据。有关如何设置的详细信息可以在docs中找到。在编辑:如果要将PyDrive脚本分发到任何服务器,而无需进一步验证,则必须:
client_secret_xxxxx.json
settings.yaml
文件添加到您的项目中,请参见template。确保设置了save_credentials_file:
,例如creds.json
client-secret
等信息从client_secret_xxxx.json
复制到settings.yaml
文件中。在creds.json
)settings.yaml
文件和c)生成的creds.json
文件的整个目录复制到远程计算机。确保相对路径不会改变。在注意:googledriveapi有附加的API调用限制,在100秒内阻止超过100次调用。在
相关问题 更多 >
编程相关推荐