해당 글의 2020년 7월 29일 실습 후 작성 된 글입니다.
본 글에서는 instagram-basic-display-api를 사용하기 위해서 access_token 값과 해당 토큰값을 장기 토큰값으로 변경하며 장기토큰 값을 갱신하는 방법을 소개하고자 합니다.
아래 링크는 instagram-basic-display-api 사용 단계가 설명되어 있는 공식설명문서입니다.
https://developers.facebook.com/docs/instagram-basic-display-api/getting-started
본 글에서는
1단계 facebook 앱 만들기
2단계 Instagram 기본 디스플레이 구성
3단계 Instagram 테스트 사용자 추가
이후의 과정부터 설명합니다. 해당 단계들은 위 링크에서 확인해서 하시길 추천 드립니다.
다만
저의 경우 2단계 과정 중 url 적는 부분은 테스트를 하기위해서 https:localhost:8443/ 으로 적었습니다.
4단계 테스트 사용자 인증
인스타 설명의 예)
이부분에서 신경써야하는 건 app-id 가 인스타의 id이므로
제품 > 인스타 > 기본표시 에서 확인할수 있는
인스타 앱 id를 적어야하며
redirect_uri 에는 꼭 본인이 2단계에서 적었던 유효한 리다렉션uri 중 하나로 해야합니다. 혹시나 적지 않았다면 앞선 것과 마찬가지로
제품> 인스타 > 기본표시에 가시면 설정할 때 보았던 페이지를 다시 보실 수 있습니다.
저의 경우
<--테스트 사용자 인증-->
https://api.instagram.com/oauth/authorize
?client_id=본인 id
&redirect_uri=https://localhost:8443/
&scope=user_profile,user_media
&response_type=code
이렇게 보냈으며 정상적으로 보내지면
이런 창이 뜨고 authorize를 눌으면 주소창에
https://localhost:8443/?code=AQBy524dxA5WZHnMqnIfPiw3xbqvZwFV0.........#_
이런식으로 리다이렉션이 됩니다.
이때 뒷부분 중code 뒤부터 #_ 앞까지가 code의 값이 됩니다.
이제 이 코드로 access_token을 받아 봅시다.
저는 자바 환경에서 받아야 하기 때문에 http 통신을 사용하였습니다.
사진의 [본인 코드]는 위에서 받은 코드값을 넣고 [본인 id],[본인 시크릿]의 경우는
제품 > 인스타 > 기본표시 에서 확인할 수 있는 id와 시크릿코드를 넣으시면 됩니다.
위의 코드는
이런식으로 토큰값을 확인할 수 있는데 이 토큰은 1시간뒤에 만료되는 토큰이기때문에 이 토큰을 통해서 장기 토큰을 받아봅시다.
인스타 예)
이 경우 앞선 자바 코드를 get으로 바꾸어서 통신해도 되지만 귀찮다면 그냥 본인 브라우저를 열고 주소창에 위의 코드에 본인 값들 맞게 써서 이동하면
이런식으로 리턴해줍니다.
Long-Lived Access Tokens의 경우 60일 뒤 만료가 되면 60일 이전에 갱신하면 새로은 토큰 값을 주게되는데
인스타 예)
앞서서와 맞찬가지로 값들 채워서 주소창 이동하면
이런식으로 리턴해줍니다.
받아온 토큰값으로 본인의 미디어 정보를 가져오는 내용은 아래 공식 문서를 보시는 걸 추천 드립니다.
https://developers.facebook.com/docs/instagram-basic-display-api/guides/getting-profiles-and-media
'개발 공부' 카테고리의 다른 글
REST API (0) | 2021.02.24 |
---|---|
include액션태그와 include 디렉티브 (0) | 2021.02.16 |
base 64 인코딩 (0) | 2021.02.16 |