为何我的Sheety表格仅接收邮箱数据,无法接收姓名数据?
问题排查:Sheety API无法传输名字和姓氏数据
你的代码能成功传输邮箱但无法传递名字和姓氏,核心原因是请求参数中的键名格式不符合Sheety API的要求。
问题分析
Sheety会自动将Google Sheets表格中的列名转换为API可识别的驼峰式键名:
- 表格列名如果是
First Name,对应API的键名是firstName - 表格列名如果是
Last Name,对应API的键名是lastName
而你的代码中使用了带空格的键名'first name'和'last name',Sheety无法识别这些键,因此不会将对应数据写入表格。
解决方案
修改params字典中的键名为驼峰式,与Sheety期望的格式匹配:
import requests ENDPOINT_SHEETY = 'https://api.sheety.co/74ad53c89414bcc19eeb7c5aad53ac64/flightDeals/users' keep = True print('Welcome To Flight Club \nWe find the best deals and alert you') first_name = input('What is your first name: ') last_name = input('What is your last name: ') while keep: email = input('What is your email: ') second_email = input('Type your email again: ') if email == second_email: print('Welcome to Flight Club') keep = False else: print('Emails do not match. Try Again') params = { "user": { 'firstName': first_name, # 修改为驼峰式键名 'lastName': last_name, # 修改为驼峰式键名 'email': email, } } response = requests.post(url=ENDPOINT_SHEETY, json=params) print(response.text)
额外验证步骤
- 打开你的Sheety项目,查看"Users"表格的列名,确保键名和列名的转换一致
- 运行修改后的代码,检查Sheety表格是否成功写入所有字段
内容的提问来源于stack exchange,提问作者ThePySociety
相关产品推荐
相关产品推荐

