# task: Instagram OAuth 인증 완료 및 테스트 발행

## 배경
- task-777.1: Instagram 크로스포스팅 코드 구현 완료
- task-778.1: 환경변수 설정, OAuth 라우트 검증 완료
- task-780.1: 중단 (Step 1에서 헤맴)
- **현재**: 모든 사전 연결 완료. OAuth + 테스트만 남음.

## 현재 완료된 상태 (이미 해결됨, 건드리지 말 것)
- ✅ Facebook 로그인 완료 (원격 브라우저 100.116.204.95:9222)
- ✅ Instagram 계정: @snu_insurance_group → 크리에이터 계정 전환 완료
- ✅ Instagram ID: 17841473765298202
- ✅ Meta Accounts Center: snu_insurance_group 추가 완료
- ✅ Facebook 페이지 "서울대보험그룹" ↔ Instagram @snu_insurance_group 연결 완료
- ✅ Facebook Page ID: 61578522306486
- ✅ Meta App ID: 1279010674080497
- ✅ 코드: instagram_oauth.py, instagram_client.py, cross_publisher.py, instagram_token_store.py 구현 완료
- ✅ .env: INSTAGRAM_APP_ID, INSTAGRAM_APP_SECRET, INSTAGRAM_REDIRECT_URI 설정됨

## 수행할 작업 (순서대로)

### Step 1: .env에 Facebook Page ID 설정
- `/home/jay/projects/ThreadAuto/.env` 파일에서 `FACEBOOK_PAGE_ID=` → `FACEBOOK_PAGE_ID=61578522306486`으로 설정

### Step 2: Meta Developer Console 앱 설정
- 원격 브라우저로 `developers.facebook.com/apps/1279010674080497/` 접속
- Instagram Graph API 또는 Instagram Basic Display 제품 추가 (없으면)
- 필요 권한 확인: instagram_basic, instagram_content_publish, pages_read_engagement, pages_show_list
- OAuth Redirect URI 등록: `.env`의 INSTAGRAM_REDIRECT_URI 값 확인하여 등록
- 앱 모드: Development → Live 전환 필요 시 수행

### Step 3: OAuth 인증 완료
- ThreadAuto API 서버 실행 (이미 실행 중이면 확인만): `cd /home/jay/projects/ThreadAuto && python3 -m uvicorn api:app --host 0.0.0.0 --port 8001`
- `/auth/instagram/login` 엔드포인트 호출하여 OAuth URL 확인
- 원격 브라우저에서 해당 OAuth URL 열기 → Facebook 로그인된 상태이므로 권한 승인 화면 표시
- 권한 승인 → 콜백으로 토큰 수신
- `.tokens/instagram_token.json` 생성 확인

### Step 4: 테스트 발행
- `.env`에서 `CROSS_POST_ENABLED=true`로 변경
- CLI로 인스타 상태 확인: `python3 cli.py instagram-status`
- **카드뉴스 이미지 1장**으로 인스타 단독 테스트 발행
- Threads + Instagram 동시 발행 테스트
- ⚠️ 테스트 게시물 삭제 금지 (제이회장님 확인 후 삭제)
- ⚠️ 의미 있는 테스트 데이터 사용 (검정 화면 금지)

## 원격 브라우저 사용법
```
python3 /home/jay/workspace/scripts/browser.py --remote-cdp http://100.116.204.95:9222 <command>
```
- navigate "URL" --wait 3000
- screenshot
- click "selector or text"
- type "selector" "text"
- eval "javascript"

## 프로젝트 경로
- ThreadAuto: `/home/jay/projects/ThreadAuto/`
- .env: `/home/jay/projects/ThreadAuto/.env`
- 토큰 저장소: `/home/jay/projects/ThreadAuto/.tokens/`

## 주의사항
- Step 1의 완료 항목들은 이미 해결됨. 다시 확인하려고 시간 낭비하지 말 것.
- 실패 로그 보존 필수, 성공 건만 보고 금지
- 테스트 결과물 자동 삭제 금지
