들어가며

글로벌 크리에이터, 브랜드를 연결해주는 서비스 Lococo를 개발하면서, 크리에이터는 브랜드가 올린 "캠페인"이라는 것에 신청하고, 해당 제품에 대한 후기를 SNS에 업로드하는 로직이 있었다. 때문에 업로드한 SNS에 대한 정보를 가져오기 위해서는 SNS 연동이 필수적이였는데, 해당 포스팅은 Instagram 연동을 하면서 고민했었던 내용을 작성해보려한다
본문

인스타그램 연동을 위해 공식 문서를 봐도 공식문서를 보면, Facebook 로그인을 통한 Instagram API랑 Instagram 로그인을 통한 Instagram API가 별도로 존재하는걸 알 수 있었다. 이 글에서는 내가 겪었던 혼란 포인트들을 공유하면서, 상황에 따라서 어떤 플로우를 선택해야 하는지와 OAuth 차이를 정리해보려고한다
로그인 화면의 차이
메타(페이스북)가 현재 유지하는 인스타그램 Oauth는 크게 두가지이다
1. Instagram API with Instagram Login

먼저 인스타그램으로 로그인은, 우리가 평소에 알던 인스타그램 화면이 뜨며 선택적으로 Facebook으로 로그인할 수 있는 플로우라고 이해해주면 된다. 만약 로그인한 인스타 계정이 프로페셔널(비즈니스/크리에이터) 계정이 아니라면, 계정 전환을 해달라는 별도의 페이지가 나온다
2. Instagram API with Facebook Login

그리고 마찬가지로 Facebook Oauth는 역시나 우리가 알던 Facebook으로 로그인할 수 있는 플로우다. 하지만, 위 화면에서도 알 수 있듯이 Insta로 로그인할 수 없다고 생각해주면 될거같다
기본세팅 (Meta 콘솔 설정의 차이)
앞서 서두에 짧게 얘기했듯이, 페이스북과 인스타그램은 모두 메타가 제공해주는 Oauth이다. 때문에 다른 Oauth와 마찬가지로 기능을 구현하기 위해서 Meta Developers에서 별도의 콘솔 설정을 해준뒤, clientID, redirectURI 등등을 세팅해줘야한다고 생각해주면 된다

1. Instagram API with Instagram Login
먼저 인스타 로그인 콘솔 세팅이다

앞서 설명했듯이 clientID, redirectURI 등등의 세팅을 위해서 제품 추가를 해주어야하는데, 해당 Instagram이라고 되어있는 제품을 추가해준 뒤에

Instagram 비즈니스 로그인이 포함된 API 설정에서 기본 세팅을 진행하면 된다
2. Instagram API with Facebook Login
그리고 다른 Oauth인 Facebook login 콘솔 세팅이다

바로 이전에 나온 Instagram 콘솔과 똑같은 경로에서, 비즈니스용 Facebook 로그인이라고 되어있는 제품을 추가한 뒤에

비즈니스용 Facebook 로그인 - 설정으로 들어가서 위 캡쳐화면에 나온 내용들을 설정할 수 있다 (Facebook 로그인의 clientID는 제품 추가시 별도로 설정되는 것이 아닌, 제일 상단에 있는 Meta 앱 ID와 동일하다)
얻을 수 있는 정보의 차이
해당 내용은 그렇다면 왜 나누어져 있는걸까 ? 먼저 Oauth API가 제공하는 정보의 차이가 존재한다
1) Instagram Basic Display API (개인 계정 전용·현재 중단)
- 엔드포인트: https://graph.instagram.com
- 제공 데이터:
- id, username
- media (사진/영상 URL, caption, timestamp 등)
- 제공하지 않음: like_count, comments_count, 노출/도달/저장/조회수 같은 인사이트
2) Instagram Graph API (Business/Creator 전용)
- 엔드포인트: https://graph.facebook.com
- 제공 데이터/기능:
- 인사이트(impressions, reach, engagement, saved, plays 등)
- 게시물·릴스·스토리 통계
결론적으로 우리 Lococo에서 필요한 Oauth API는 2번이였고, 해당 내용을 사용하기 위해선 사업자 등록이 필요했다 😢
사업자 등록 플로우
앞서 설명한 " 사업자 " 라는 개념은, 우리 서비스에서 필요했던 정보인 게시글, 릴스 등의 인사이트(통계) 를 얻기위한 정보들이였는데,
비즈니스 검증(Business Verification)과 앱 검수(App Review)를 통과해야 실제 사용자에게 Advanced Access로 관련한 권한들을 제공받을 수가 있다
아래는 관련한 공식문서의 내용이다
https://developers.facebook.com/docs/instagram-platform/app-review
App Review - Instagram 플랫폼 - 문서 - Meta for Developers
If you request permissions or features that your app does not use or does not align with the allowed usage for that permission or feature, your submission will not be approved.
developers.facebook.com
마치며
마치면서, 실제 구현하면서 참고했었던 내용들의 링크를 첨부할테니 구현할때 참고 해주면 더 좋을거같다

참고 & 공식문서 링크
Basic Display API 종료 공지(Meta 블로그)
https://developers.facebook.com/blog/post/2024/09/04/update-on-instagram-basic-display-api
Instagram API with Instagram Login (동일 Graph 기반, 로그인 프로바이더만 변경)
https://developers.facebook.com/docs/instagram-platform/instagram-api-with-instagram-login
Instagram API with Facebook Login (Get Started, 권한 흐름)
https://developers.facebook.com/docs/instagram-platform/instagram-api-with-facebook-login
'Spring > OAuth' 카테고리의 다른 글
| Line 소셜 로그인 (OAuth) (2) | 2025.07.01 |
|---|---|
| OAuth의 개념과 필요성 (0) | 2025.06.09 |
| P-프로젝트(구글 OAUTH, Spring) (4) | 2024.12.27 |