소개
Antigravity를 이용하여 X 및 페이스북 계정을 API로 연동하여, AI가 직접 트윗을 작성할 수 있는 자동화 환경을 구축하고자 하였습니다. X는 성공하였으나 페이스북은 비즈니스 관리자(Business Manager) 계정이 광고 및 자산 관리 제한(광고 비활성화) 조치를 받아 검토요청을 하여 기다리는 상태입니다.
# X의 경우
🎯 1. 연동 목표
X Developer Portal을 통해 API 인증키 발급
보안을 위해 환경 변수(
.env)로 키 관리Node.js와
twitter-api-v2라이브러리를 활용해 트윗 자동 포스팅 스크립트 작성
🚀 2. 진행 과정
API 키 발급 및 보안 설정: X 개발자 포털에서 앱을 생성한 뒤
Consumer Key와Access Token,Bearer Token을 발급받았습니다. 코드에 직접 하드코딩하지 않고.env파일에 분리하여 보안을 철저히 했습니다.연동 테스트 (Read): Node.js 스크립트를 작성하여 OAuth 1.0a 방식으로 연결 테스트를 진행했습니다. API가 정상적으로 호출되어 내 계정 정보를 성공적으로 불러오는(Read) 것까지 확인했습니다.
🚧 3. 트러블슈팅: 403 Forbidden 에러와의 사투
계정 정보를 불러오는 데에는 성공했지만, AI가 작성한 트윗 초안을 업로드(Write)하는 코드에서 403 Forbidden 에러가 지속적으로 발생했습니다. 구글링과 AI의 진단을 통해 다음 두 가지 핵심 원인을 파악할 수 있었습니다.
원인 1. 토큰 생성 시점과 권한 꼬임 현상
[원인] 보통 앱을 처음 만들면 권한이 'Read Only(읽기 전용)'로 되어 있습니다. 이를 뒤늦게 'Read and Write'로 변경하더라도, 변경 이전에 받아둔 Access Token은 여전히 읽기 전용으로 작동하여 에러를 뱉습니다.
[해결] 설정 변경 후 화면 상엔 '읽기/쓰기'라 되어있어도, 반드시 [Regenerate(재발급)] 버튼을 눌러 토큰을 새로 받아
.env에 덮어씌워야 합니다.
원인 2. X 계정의 휴대폰 번호 미인증 (핵심)
[원인] 권한 초기화를 모두 마쳤음에도 쓰기 권한이 차단되었습니다. 알고 보니 X(트위터) 정책 상 스팸 방지를 위해, API를 통해 트윗을 포스팅하려는 계정은 반드시 '휴대폰 번호 인증'이 완료된 상태여야만 했습니다.
[해결] 제 경우, 계정 비밀번호를 최근에 변경하는 바람에 48시간 동안 휴대폰 인증 기능이 제한되어 있었습니다. 결국 48시간 대기 후 인증 을 마치면 정상 작동할 것임을 확인하고 마무리했습니다.
# 페이스북의 경우
페이스북에서 앱만들기 하고 있는데 "Business is not allowed to claim App. Your business is prohibited from advertising, including claiming apps."라는 메시지가 떴습니다. 제미나이에게 해결방법을 물어보니 "신규 계정인데 이런 메시지가 뜬다면 메타의 자동 방어 시스템에 의한 오탐지일 가능성이 높으니, 주저 말고 검토 요청을 접수하시기 바랍니다."라고 해결방안을 받았습니다. 그래서 검토요청을 한 상태인데 메타에서 직접 확인 후 풀릴 때까지 최대 4일까지 걸린다고 하여 기다리고 있습니다. 얼른 해결되었으면 좋겠습니다.