혼란에서 명확함으로: 소셜 미디어 API와 OAuth 학습 여정
Source: Dev.to
Step 1 — Research Before Code
코드를 한 줄도 작성하기 전에, 어떤 플랫폼이 API를 통해 게시를 허용하는지 조사했습니다. 조사한 내용은 다음과 같습니다:
- LinkedIn API
- Instagram Graph API
- Facebook Graph API
- Twitter (X) API
매우 빠르게 중요한 사실을 깨달았습니다: 소셜 미디어 플랫폼은 단순히 API 키를 제공하고 바로 게시를 허용하지 않습니다. 다음과 같은 절차가 필요합니다:
- 개발자 앱 등록
- OAuth 인증
- 권한 스코프
- 엄격한 보안 검사
그냥 “API를 호출하면 끝”이 아니라 전체 인증 시스템이 필요했습니다.
Step 2 — Understanding OAuth 2.0 (The Turning Point)
OAuth는 이전에 들어본 적은 있지만 완전히 구현해본 적은 없었습니다. 깊이 이해해야 했습니다. 배운 내용은 다음과 같습니다:
- 사용자가 “LinkedIn으로 로그인”을 클릭합니다.
- 사용자는 LinkedIn으로 리디렉션됩니다.
- LinkedIn이 인증 코드를 반환합니다.
- 해당 코드를 액세스 토큰으로 교환합니다.
- 액세스 토큰을 사용해 API를 호출합니다.
Step 3 — Automating the Process

이 흐름을 이해하면서 모든 것이 바뀌었습니다. OAuth는 단순 로그인 기능이 아니라 시스템 간의 안전한 권한 교환입니다.
Step 4 — Struggles During Learning
이 단계에서는 오류가 끊임없이 발생했습니다:
- Redirect URI 불일치
- Unauthorized scope 오류
- 403 Access Denied
- 토큰 누락
- 권한 제한
때때로 혼란스러웠지만, 각 오류는 저에게 다음을 강요했습니다:
- 문서를 꼼꼼히 읽기
- HTTP 요청 이해하기
- 서버 로그 디버깅하기
실제 API가 보안을 어떻게 강제하는지 배우면서 디버깅이 튜토리얼보다 더 많은 것을 가르쳐준다는 것을 깨달았습니다.


Step 5 — Why I Chose LinkedIn
모든 플랫폼 중에서 LinkedIn이 가장 구조화되어 있고 개발자 친화적이라고 느꼈습니다. 제공되는 기능은 다음과 같습니다:
- UGC Post API
- 미디어 업로드 지원
- 명확한 OAuth 문서
그래서 자동화 여정을 LinkedIn부터 시작하기로 결정했고, 이는 실제 개발 단계로 이어졌습니다.
Step 6 — What I Learned in This Phase
- 실제 시스템에서 OAuth 2.0이 어떻게 작동하는지
- 스코프와 권한이 왜 중요한지
- 액세스 토큰이 어떻게 생성되고 사용되는지
- 기본 로그인과 다른 보안 인증 방식
- REST API가 JSON을 통해 어떻게 통신하는지
이 학습 단계가 기반을 다져 주었습니다. 이 내용을 명확히 이해한 뒤에야 실제 애플리케이션을 만들기 시작했습니다.