我不知道如何使用Python客户端或Calendar API(我只是使用ruby OAuth2库来访问Contacts API)来执行此操作,但是我发现我需要请求用户的“离线”访问权限。
这是通过在授权URL中添加一个带有值“ offline”的“ access_type”参数(将用户重定向到该URL以单击“我希望此应用程序获取我的数据”)来完成的。
如果执行此操作,则当您向Google询问访问令牌时,您会在JSON响应中返回refresh_token。否则,您只会获得访问令牌(有效期为一个小时)。
显然,此要求是最近添加的(可能没有得到很好的记录)。
您过去常常获取刷新令牌,而无需获得特定的“脱机”权限。
希望这能为您指明正确的方向。