Python 如何在不手动登录的情况下使用API编辑google工作表?

Python 如何在不手动登录的情况下使用API编辑google工作表?,python,google-sheets,google-sheets-api,Python,Google Sheets,Google Sheets Api,我正在尝试用python创建一个机器人,我想让它在google表单中汇总信息,但当我使用api密钥时,我只能阅读,不能编辑是否有类似api密钥的东西可以一直工作,并且可以这样做,我不需要手动登录?(它给我的错误是错误401) 这是我以前做过的,但它不起作用是的,您可以使用Google凭据创建服务帐户。关于如何使用服务帐户。当你创建一个,你也会得到一个电子邮件地址。只需将您的工作表与该地址共享,就可以使用密钥进行身份验证 编辑:滚动至的底部以获取更详细的API信息。我尝试过这样做,但当我与此电子邮

我正在尝试用python创建一个机器人,我想让它在google表单中汇总信息,但当我使用api密钥时,我只能阅读,不能编辑是否有类似api密钥的东西可以一直工作,并且可以这样做,我不需要手动登录?(它给我的错误是错误401)


这是我以前做过的,但它不起作用

是的,您可以使用Google凭据创建服务帐户。关于如何使用服务帐户。当你创建一个,你也会得到一个电子邮件地址。只需将您的工作表与该地址共享,就可以使用密钥进行身份验证


编辑:滚动至的底部以获取更详细的API信息。

我尝试过这样做,但当我与此电子邮件地址共享时,它会向我发送电子邮件,并告诉我有问题。这是正确的答案。虽然它看起来像是一封你不能发送也不能接收的邮件,但要考虑到这一点。关于如何做到这一点,有多个示例(,)。你也可以看看是否完成。但是使用oath2并不是所有的时间,我需要每月提供一次新的访问代码。我想要一个api密钥之类的东西,它可以一直工作,而不会为在线运行的机器人提供新的bc
def main():
    key = My_API_Key
    discoveryUrl = 'https://sheets.googleapis.com/$discovery/rest?version=v4'
    service = discovery.build('sheets', 'v4', http=httplib2.Http(), discoveryServiceUrl=discoveryUrl, developerKey=key)

    spreadsheetId = '1z0jzLs0-OXu0I2Cw2BIPEdVzjgGZ_BPx0OcKimmfAhY'

    clear_values_request_body = {}
    service.spreadsheets().values().update(spreadsheetId=spreadsheetId, range='Sheet1', body=clear_values_request_body).execute()