# Instagram 인증 및 크로스 포스팅 테스트 (task-777.1 미해결사항)

## 목표
task-777.1에서 구현한 Instagram 크로스 포스팅 코드의 실제 인증 완료 + 테스트 발행 1건 수행.

## 원격 브라우저 (필수 활용)
- **크롬 디버그**: `100.116.204.95:9222` (제이회장님 윈도우 노트북, 이미 켜져 있음)
- **스크립트**: `python3 /home/jay/workspace/scripts/browser.py --remote-cdp http://100.116.204.95:9222 <command>`
- 사용 가능 명령: navigate, screenshot, click, type, execute, evaluate 등
- Meta Developer Console, Facebook 설정 등 모두 이 브라우저로 진행

## 진행 순서

### Phase 1: Meta Developer Console 설정
1. 원격 브라우저로 `https://developers.facebook.com/apps/` 접속
2. 기존 Threads 앱 확인 (THREADS_APP_ID 사용 중인 앱)
3. 해당 앱에 **Instagram 제품 추가** (Products → Add Product → Instagram)
4. 또는 Instagram 전용 새 앱 생성 (기존 앱에 추가 불가할 경우)
5. 필요 권한 설정: `instagram_basic`, `instagram_content_publish`, `pages_read_engagement`

### Phase 2: Facebook Page + Instagram 연결 확인
1. 원격 브라우저로 `https://www.facebook.com/settings` 접속
2. Facebook Page 존재 여부 확인
3. Page가 없으면 생성 필요 → 제이회장님께 보고 후 진행
4. Page ↔ Instagram Business 계정 연결 상태 확인
5. Instagram 계정이 Business/Creator 타입인지 확인

### Phase 3: 환경변수 설정
1. Meta Developer Console에서 App ID, App Secret 확인
2. Facebook Page ID 확인 (Graph API Explorer 또는 Page 설정에서)
3. `/home/jay/projects/ThreadAuto/.env` 또는 `.tokens/` 에 환경변수 저장:
   - INSTAGRAM_APP_ID
   - INSTAGRAM_APP_SECRET
   - FACEBOOK_PAGE_ID
4. ⚠️ 키/토큰은 .env.keys 또는 .env 파일에만 저장. 코드에 하드코딩 금지.

### Phase 4: OAuth 인증 실행
1. `cd /home/jay/projects/ThreadAuto && python3 cli.py instagram-auth` 실행
2. 인증 URL을 원격 브라우저에서 열기
3. Facebook 로그인 → 권한 승인
4. 콜백 수신 확인 → 토큰 저장 확인
5. `.tokens/instagram_token.json` 생성 확인

### Phase 5: 실제 크로스 포스팅 테스트
1. 카드뉴스 1건 렌더링
2. CrossPublisher로 Threads + Instagram 동시 발행
3. 두 플랫폼 모두 게시물 확인 (원격 브라우저로 Instagram 피드 확인)
4. ⚠️ 테스트 게시물은 제이회장님 확인 후에만 삭제 (자동 삭제 금지)

## 주의사항
- Instagram Content Publishing API는 **Business/Creator 계정만** 지원
- 개인 계정이면 Business로 전환 필요 (Instagram 설정 → 계정 → 프로페셔널 계정으로 전환)
- Rate Limit: 시간당 25건
- 실패 로그 보존 필수, 성공 건만 보고 금지
- 모든 외부 서비스 설정은 스크린샷으로 기록

## 프로젝트 경로
- ThreadAuto: `/home/jay/projects/ThreadAuto/`
- 크롬 디버그 스크립트: `/home/jay/workspace/scripts/browser.py`