我正在尝试在 Sheety 的帮助下更新电子表格中的行(参见附件)。我希望“IATA 代码”列填充单元格值“TESTING”。当我运行代码时,它没有给我任何错误,但它不会更新电子表格。为什么不更新电子表格?
import requests
API_KEY_GET = "my_key_for_get"
API_KEY_PUT = "my_key_for_put (without [Object ID]"
TELLER = 2
response = requests.get(url=API_KEY_GET)
response.raise_for_status()
data = response.json()
sheet_data = [p for p in data["prices"]]
for iat in sheet_data:
iat["iataCode"] = "TESTING"
for i in sheet_data:
sht_inputs = {
"price": {
"City": i["city"],
"IATA Code": i["iataCode"],
"Lowest Price": i["lowestPrice"]
}
}
sht_response = requests.put(url=f"{API_KEY_PUT}{TELLER}", json=sht_inputs)
TELLER += 1
sht_response.raise_for_status()
我在 Sheety 中尝试了一个具有不同名称的新项目。电子表格也不会更新 我尝试邮寄而不是放置。如果我发布添加行,电子表格也不会更新。
我对此也有同样的问题。 这是我的解决方案:
import requests
FLIGHT_URL = "https://api.tequila.kiwi.com/locations/query"
FLIGHT_API = "kwncSx7gdoQSIjBQ8_yyVyrNcCkq3wuW"
CITIES = ["Paris", "Berlin", "Tokyo", "Sydney", "Istanbul", "New York", "Kuala Lumpur", "San Francisco", "Cape Town"]
SHEETY_URL = "https://api.sheety.co/047bf28f7ad1b00e907d155576a1d720/myFlightDeals/flights"
row_id = 2
for item in CITIES:
flight_parameters = {
"term": item
}
flight_header = {
"apikey": FLIGHT_API
}
response_flight = requests.get(url=FLIGHT_URL, params=flight_parameters, headers=flight_header)
code = response_flight.json()["locations"][0]["code"]
sheety_parameters = {
"flight": {
"iataCode": code,
}
}
response_sheety = requests.put(url=f"{SHEETY_URL}/{row_id}", json=sheety_parameters)
row_id += 1
Sheety 使用驼峰命名法,因此您必须重新排列 json 字典中的列名称:
sht_inputs = {
"price": {
"city": i["city"],
"iataCode": i["iataCode"],
"lowestPrice": i["lowestPrice"]
}
}