gpt4 book ai didi

python gspread 谷歌电子表格保持连接

转载 作者:太空狗 更新时间:2023-10-30 01:15:11 25 4
gpt4 key购买 nike

我正在使用 gspread 更新我的电子表格,这个过程大约需要一个小时,我有大约 200 个电子表格。更新表格大约 30 分钟后,连接断开。有没有办法让登录保持事件状态?我以为我保持连接有效,因为我大约每 30 秒打开并写入不同的工作表。

我可以使用一个 try 语句,如果它失败了就重新登录。我想知道是否有人有更好的方法?

我习惯于使用 gspread 中的简单示例:

gc = gspread.login('thedude@abid.es', 'password')
sht1 = gc.open_by_key('0BmgG6nO_6dprdS1MN3d3MkdPa142WFRrdnRRUWl1UFE')

如何将其转换为保持事件连接登录以到达 sht1

最佳答案

要保持事件连接,您应该使用持久连接。

因此,如果您检查主文档:

http://burnash.github.io/gspread/#gspread.Client

您将看到 gspread.login 方法是 Client 的实例。并且 Client 可以接受 http header 。

http://burnash.github.io/gspread/#gspread.httpsession.HTTPSession

现在在您的连接中添加此 header :Connection: Keep-Alive

import gspread
headers = gspread.httpsession.HTTPSession(headers={'Connection':'Keep-Alive'})
con = gspread.Client(auth=('you@gmail.com','password'),http_session=headers)
con.login()
con.open_by_key('....')

然后当您打印 session header 时:

print con.session.headers
Out[5]: {'Authorization': u'GoogleLogin auth=xxxxxxx', 'Connection': 'Keep-Alive'}

有关持久连接的详细信息,请查看这些链接:

http://en.wikipedia.org/wiki/HTTP_persistent_connection

http://www.w3.org/Protocols/rfc2616/rfc2616-sec8.html

有关 gspread httpsession 的代码详细信息,请查看:

https://github.com/burnash/gspread/blob/master/gspread/httpsession.py

关于python gspread 谷歌电子表格保持连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23568907/

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