파이썬/파이썬(python) 중급

[39-3 파이썬] sheety API 사용하는 방법

Olivia-BlackCherry 2022. 10. 4. 22:57

sheety api 

https://sheety.co/

 

Sheety - Turn your Google Sheet into an API

Turn any Google Sheet into an API instantly. Power websites, apps, or whatever you like, all from a spreadsheet.

sheety.co

 

sheety를 이용하면?

내 google spreadsheet에 저장된 파일을 JSON파일로 쉽게 변환하여 데이터처리의 이동과 저장이 쉽다.

JSON 파일을 사용하면

인터넷에서 많은 양의 데이터를 요청하고 전송하는 데 사용하는데 유리하다. 

JSON 파일은 빠르고 정확한 이동에 최적화되어 있는 형식이기 때문이다.

 

오늘은 sheety를 이용하여 

나의 구글sheet에 있는 내용을 새로운 정보로 자동 업데이트하는 프로그램을 만들어보겠다.

 

 

sheety api 받는 법

- 회원 가입

- Dashboard

- Projects> New Project(From Google Sheet)

- API ( get, post, put, delete ) 

 

 

authentication 인증 

- None, Basic, Bearer(Token)

 

 

실습

1) 구글 시트에 있는 정보 가져와보기

구글 시트에 있는 정보

BEARER = "자신의 고유 인증 문자를 넣으세요"
sheety_url = "자신의 고유 URL을 넣으세요"

import requests
# sheety api이용해서 구글 시트에 있는 정보 불러와보기
headers= {
    "Authorization": BEARER
}

response = requests.get(url=sheety_url, headers=headers)
datas = response.json()
print(datas)

>>{'prices': [{'city': 'Paris', 'iataCode': '', 'lowestPrice': 54, 'id': 2}, {'city': 'Berlin', 'iataCode': '', 'lowestPrice': 42, 'id': 3}]}

 

 

2) 내가 원하는 내용을 iata code에 자동 붙이기 

datas = {'prices': [{'city': 'Paris', 'iataCode': '', 'lowestPrice': 54, 'id': 2}, 
		{'city': 'Berlin', 'iataCode': '', 'lowestPrice': 42, 'id': 3}
                    ]}

datas의 내용을 분석해보자. 

city, iatacode, lowestprice, id가 키로 나열되어 있다. 

id는 object id로 행 row을 말한다.

post, put, delete requests를 할 때는 id가 url에 쓰이므로, 해당 정보를 기억하도록 하자.

for data in datas['prices']:
    sheety_put_url = f"{sheety_url}/{data['id']}"
    parameters = {
        "price":{
            "iataCode": "내가 원하는 내용 붙이기!"
        }}
    put_response = requests.put(url=sheety_put_url, headers=headers, json=parameters)
    put_response.raise_for_status()

for 반복문으로 해당 행의 iataCode 키의 값에 내가 원하는 내용을 차례대로 붙이며, 

sheet 내용을 update할 수 있다.