-
[SpringBoot] 인스타그램 API를 이용해 인스타 Feed 데이터 들고오기2SpringBoot Meteor 2021. 10. 22. 00:07
스프링부트 인스타그램 api 연동 두번째 글을 이어적겠습니다.
인스타그램 API와 연동 준비는 이전 글을 참고해주세요
https://moon-meteor.tistory.com/15
[SpringBoot] 인스타그램 API를 이용해 인스타 Feed 데이터 들고오기
인스타 피드데이터를 들고와서 프런트 페이지에 뿌려주는 작업을 했다 하면서 막혔던 부분을 해결한 방법과 어떻게 들고오는지에 대한 자료가 많이 없었기에 글을 정리해서 남겨놓으려고 한다
moon-meteor.tistory.com
FaceBook개발자 사이트에서 인스타아이디와 페이스북 아이디를 연동하고 설정하는 것 까지
저번 글에서 설명했습니다.
이번 시간에는 이전 데이터 받아오기 설정을 하면서 작성했던 콜백 URI를 통해 데이터를 받아오고 통신하는 것 까지 진행 하겠습니다!! 파이팅!
우선 아래의 주소로 인터넷 브라우저 주소창에 복붙 후 붙여넣고 엔터를 쳐주세요
(이전 글에서는 방법만 적고 끝내려는 생각이었지만 아무래도 조금이라도 더 정확한 예시를 보여주기 위해서
직접 테스트아이디를 만들어서 진행해보겠습니다.)
<필요한 지식>
1. 통신의 개념(feat. Rest)
2. DTO개념 (Data를 손 쉽게 받는다 SpringFrameWork의 도움을 받아서)
3. JSON Data 개념
이전 시간에 적었던 URI들은 이렇게 다시 수정하였습니다. 참고바라겠습니다.
자 이제 스프링부트에 코드를 짜러 가보겠습니다.
<전체적인 절차>
1. {api-id]와 {redirect-uri}로 인증코드를 발급받는다 (redirect-uri는 유효한 OAut 리디렉션 URI에 적었던 주소입니다)
2. 승인 수락 후 인증코드를 발급받는다
3. 발급받은 인증코드로 access-token으로 바꾼다. (유효시간 1시간 짜리 토큰)
4. 유효시간 1시간 access-token을 이용하여 60일 이용가능한 토큰으로 바꾼다
5. 피드 데이터를 요청 후 데이터를 응답받고 필요에 따라 활용한다.
시작하겠습니다 여러분 절대 어렵게 생각하지 않으셔도 됩니다. 흐름만 파악한다면 퍼즐맞추듯 진행되실겁니다.
우선 인증 코드를 발급받겠습니다.
인증코드 발급 주소 : https://api.instagram.com/oauth/authorize?client_id={app-id}&redirect_uri={redirect-uri}&scope=user_profile,user_media&response_type=code
{app_id}는 instagram 앱ID, {redirect-uri}에는 아까 작성했던 유효한 OAuth 리디렉션 URI에 적었던 주소를 입력해주세요. 위 이미지를 참고하세요
이미 구현 해놓은서버에서 두개의 요청이 안들어가는것같다.. 후... 이 후에 다시 정리하겠습니다 ㅠㅠ
(저는 인스타 ID 두개를 사용하여 각각의 데이터를 가져오는 로직을 짜고있었습니다.
이렇게 되니 한 아이디의 인증코드를 발급받고 다른 아이디의 인증코드를 받으니 OAuthException이 떨어지더라구요정확한 이유는 무엇인지 모르겠으나 예상하기엔 하나의 서버에서 한 아이디로만 요청이 가능한게 아닌지 생각하고있어요 정확한 이유를 아시는분은 댓글 부탁드립니다. 이것 때문에 정말 헤메다가 더 간단한 방법으로 데이터를 들고 오고
여러개의 아이디를 사용해도 Data를 가져올 수 있는 방법을 알게되었습니다. 같이 공유드릴게요)
'SpringBoot Meteor' 카테고리의 다른 글
[SpringBoot] 쿼리 DSL 동적 조건문 생성 (0) 2021.12.17 [SpringBoot]Content-Security-Policy(resorces request https) (0) 2021.11.10 [SpringBoot] 인스타그램 API를 이용해 인스타 Feed 데이터 들고오기 (0) 2021.10.21 [Web] WebSocket과 SSE의 차이점 정리 (0) 2021.10.05 [SpringBoot] JPA - 동작원리(Feat.영속성 컨텍스트) (2) 2021.09.29