import gspread
emails = ['test@test.com' , 'test1@test1.com']
def api(key):
gc = gspread.service_account(filename='Auth.json')
sh = gc.open_by_key(key)
worksheet = sh.get_worksheet(1)
worksheet.insert_row(["Emails"], 1)
worksheet.insert_rows(emails, 2)
api("myapi")
错误:我无法将电子邮件列表写入谷歌表单行,因为我一直收到以下错误:
gspread.exceptions.APIError: {'code': 400, 'message': 'Invalid value at 'data.values[0]' (type.googleapis.com/google.protobuf.ListValue), "test@test.com"nInvalid value at 'data.values[1]' (type.googleapis.com/google.protobuf.ListValue), "test1@test1.com"', 'status': 'INVALID_ARGUMENT', 'details': [{'@type': 'type.googleapis.com/google.rpc.BadRequest', 'fieldViolations': [{'field': 'data.values[0]', 'description': 'Invalid value at 'data.values[0]' (type.googleapis.com/google.protobuf.ListValue), "test@test.com"'}, {'field': 'data.values[1]', 'description': 'Invalid value at 'data.values[1]' (type.googleapis.com/google.protobuf.ListValue), "test1@test1.com"'}]}]}
我相信你的目标如下。
- 您希望将
['test@test.com' , 'test1@test1.com']
的值放入插入的行中
在这种情况下,我认为在这种情况中,['test@test.com' , 'test1@test1.com']
需要是像[['test@test.com'], ['test1@test1.com']]
一样的二维数组。我认为错误的原因就是因为这个。因此,请修改如下,然后再次测试。
发件人:
emails = ['test@test.com' , 'test1@test1.com']
收件人:
emails = [['test@test.com'], ['test1@test1.com']]
参考文献:
- insert_rows