노션에 첨부된 이미지 URL 만료 없이 사용하기.
목차 펼치기
머리말
머리말
노션에 첨부한 이미지를 사용하는 경우, 일정 시간이 지나면 이미지가 보이지 않는 현상이 발생했다.
처음 작업할 때는 긴 url을 그냥 사용해서 몰랐는데, 막상 뜯어보니 파라미터에 만료시간이 존재했다. 아래 URL이 그 예시인데,
X-Amz-Date
,
X-Amz-Expires
라는 쿼리 파라미터를 볼 수 있다.
😇
승
승
개인 S3를 만들어야하나 어찌해야하나라는 고민을 하며 혹시 나와 같은 고민을 한 누군가가 있지 않을까 구글을 찾아보니 dezang.net이라는 블로그를 운영하는 분께서 비슷한 고민을 하셨고 해결한 내용을 공유해주는 글을 찾았다. 덕분에 어떤 방식으로 풀면 될 지를 알게 되어 너무 감사했다.
사용한 방 법은 노션의 페이지를 웹에서 공유하기를 적용하여 생기는 링크를 활용하여,
페이지가 공유된 웹사이트 내의 이미지를 가져오는 방법이었다. 바로 노션 페이지의 이미지를 가져오는 것과는 경로가 다르다. 어쩜 이런 생각을 하셨을까.
전
전
그럼 공유된 웹사이트 내에서 이미지 주소는 어떻게 사용되고 있나 확인해보니 다음과 같이 사용되어지고 있었다.
웹 URL이 노션 URL과 다른 점을 하나씩 틀린그림찾기를 해보니 차이점은 다음과 같다.
내 노션 도메인으로 시작하여 노션 URL이 따라온다.
table
,
id
,
spaceId
,
width
,
userId
,
cache
파라미터를 사용한다.
파라미터를 제외한 웹 URL만을 호출하면 다음과 같은 오류 문구가 발생한다.
{"errorId":"465b5b04-fb7b-46b6-9d45-e0909e709129","name":"ValidationError","message":"For secure file URLs, must specify table and id."}
table
과
id
만 필수 파라미터인 걸 확인할 수 있었다.
이제 파라미터를 하나씩 톺아보았다.
table
: block으로만 줘서 사용한다.
id
: 노션 페이지 내 이미지가 사용된 블럭의 id이다.
spaceId
: 어디서도 찾을 수 없었다. 확인 결과 필수값은 아니므로 제외한다.
width
: 리사이징에 필요한 파라미터로 srcSet을 구축할 때 요긴하게 사용할 수 있다.
userId
: 빈 값이므로 제외한다.
cache
: 캐싱까지 적용시켜주나보다. 동일하게 v2로만 줘서 사용한다.
결
결