오늘은 앞서 살펴본 HTTP Requests의 get()뿐만 아니라 다른 메소드도 알아보려고 한다.

pixela = https://pixe.la/index.html 라는 API 사이트에서 살펴보았다.

post() 메소드

위 메소드는 우리가 API를 통해 데이터를 전달하는게 가능하다.

pixela에서 API 안내문서를 살펴보고 새로운 계정을 가입해보자.

앞서 get()메소드에서는 가져온 데이터를 출력해야했지만, 이번에는 그저 성공인지 아닌지만 알 수있으면 되기 때문에

.text를 사용하여 성공 및 실패 텍스트만 반환하도록 했다.

아래 과정을 통해 우선 회원가입을 성공했다.

USERNAME = ""
TOKEN = ""

pixela_endpoint = "<https://pixe.la/v1/users>"

user_params = {
    "token" : TOKEN,
    "username" : USERNAME,
    "agreeTermsOfService" : "yes",
    "notMinor" : "yes"
}

response = requests.post(url=pixela_endpoint, json=user_params)
print(response.text)

다음단계로 그래프를 추가할 수있다.

파라미터에 그래프명, 제목, 단위 수, 단위의 타입, 색상을 전달할 수 있다.

여기서 가장 중요한 headers는 보안을 위해 앞서 생성한 토큰을 post()메소드 내에 headers로 전달해야한다.

graph_endpoint = f"{pixela_endpoint}/{USERNAME}/graphs"

graph_config = {
    "id" : "graph1",
    "name" : "Health Graph",
    "unit" : "minutes",
    "type" : "float",
    "color" : "momiji"
}

headers = {
    "X-USER-TOKEN" : TOKEN
}

response = requests.post(url=graph_endpoint, json=graph_config, headers=headers)
print(response.text)

다음으로 픽셀에 나의 헬스 운동 일지를 기록할 수 있다.

여기서 날짜를 지정할 때 오늘 날짜를 자동화하기 위해 datetime의 strftime을 사용했다.

strftime은 시간을 문자로 변환할 때 사용한다.

pixel_endpoint = f"{pixela_endpoint}/{USERNAME}/graphs/graph1"

today = datetime.now().strftime("%Y%m%d")

headers = {
    "X-USER-TOKEN" : TOKEN
}

pixel_params = {
    "date" : f"{today}",
    "quantity" : "75",
}

response = requests.post(url=pixel_endpoint, json=pixel_params, headers=headers)
print(response.text)

https://blog.kakaocdn.net/dn/cqo80j/btrFcinkACs/Zq5htSxd3A2oG4Lm1gkMJ1/img.png

https://blog.kakaocdn.net/dn/ciMB1G/btrFe34eLNE/8kw4FK4Ya62eaVkyCKKLsK/img.png

다음메소드는 put()으로 앞서 입력했던 픽셀의 값을 변경할 수있다.