API token is invalid

장찬우·2022년 11월 27일
1
post-thumbnail

오늘은 API를 가져오다가 겪은 어이없는(?) 일에 대해서 써보려고 한다. 사실 어이가 없다기보단 나의 실력때문이겠지,,만 그래도 이렇게 기록을 해놓으면 다음부터는 실수할 일은 없을것이라고 생각한다.

📁 notion API

노션 api를 불러와 뿌려주고 싶어서 불러오는 와중에 서버측에서 자꾸 아래와 같은 오류가 발생하였다.

{
  object: 'error',
  status: 401,
  code: 'unauthorized',
  message: 'API token is invalid.'
}

흠,, api에서 토큰값이 없어서 알려주는 오류라고 생각했다. 하지만 나는 정확히 토큰값을 입력하였었고 틀린값을 넣은적이 없었는데도 자꾸 오류가 발생하였다. 하지만 정답은 항상 가까운곳에 존재했다...
토큰값은 .env에서 가져다쓰는 방식으로 되어있었는데 .env에는

NOTION_TOKEN=secret_토큰값
NOTION_DATABASE_ID=be45c6...데이터베이스아이디값

이렇게 토큰값과 데이터베이스 아이디값을 전달해주고있었다. nextjs(이하 next)에서는 사용을 할때 앞에 NEXTPUBLIC를 꼭 붙여줘야 한다는걸 잊고있었다.. 환경변수를 next에서 설정할때는 저렇게 앞에다가 적어줘야한다는걸 잊고있었다.

적어주고나니 다른 오류가 발생하였다.

{
  object: 'error',
  status: 400,
  code: 'validation_error',
  message: 'path failed validation: path.database_id should be a valid uuid, instead was `"\\"데이터베이스 아이디값\\""`.'
}

이런 오류가 발생했는데 처음에는 무슨 오류일까 엄청 생각을 하다가 가만히 보니까 공백이 들어갔다는거 같아서 .env파일을 다시보게되었다.

위에 스크롤한것을보면 공백이 있다. 바로 저 공백때문에 데이터 아이디값이 존재하지않는 값으로 되어버린것이다.

그래서 공백을 없애주고 다시 실행하니까 잘 돌아갔다.

📁 마치며

하루종일 삽질을 하고 결국 지인에게 헬프를 외쳐 수정하긴했지만 다음부터는 절대 이런실수는 없을것같다.. 좋은 삽질이였다..

profile
프론드엔드 개발자가 되기위한 기록

0개의 댓글