변경 사항 요약
- API 형식: 엔드포인트가 /1.1/account_activity/ 대신 /2/account_activity/ 기본 경로를 사용합니다.
- 웹훅 관리: 웹훅 생성, 목록 조회, 검증(CRC), 삭제는 V2 Webhooks API로 처리됩니다.
- 인증 방식: V2 엔드포인트에는 다음 중 하나가 필요합니다.
- 사용자별 작업(예: 특정 사용자를 구독)에 OAuthUser(3-legged OAuth).
- 앱 수준 작업(예: 구독 목록 조회/삭제)에 OAuth2 App Only(Bearer 토큰).
- V1.1은 상황에 따라 주로 OAuth 1.0a 등을 포함한 다양한 요구사항을 사용했습니다.
- 엔드포인트 매핑:
| V1.1 엔드포인트 | V2 대응 / 동작 | 비고 |
|---|---|---|
| POST /1.1/account_activity/webhooks.json?url=<URL> | POST /2/webhooks | 문서. OAuth2AppOnly 필요. |
| GET /1.1/account_activity/webhooks.json | GET /2/webhooks | 문서. OAuth2AppOnly 필요. |
| PUT /1.1/account_activity/webhooks/:webhook_id.json | PUT /2/webhooks/:webhook_id | CRC를 트리거합니다. 문서. OAuth2AppOnly 필요. |
| DELETE /1.1/account_activity/webhooks/:webhook_id.json | DELETE /2/webhooks/:webhook_id | 문서. OAuth2AppOnly 필요. |
| POST /1.1/account_activity/webhooks/:webhook_id/subscriptions/all.json | POST /2/account_activity/webhooks/:webhook_id/subscriptions/all | OAuthUser 필요. |
| GET /1.1/account_activity/subscriptions/count.json | GET /2/account_activity/subscriptions/count | OAuth2AppOnly 필요. |
| GET /1.1/account_activity/webhooks/:webhook_id/subscriptions/all.json | GET /2/account_activity/webhooks/:webhook_id/subscriptions/all | OAuthUser 필요. |
| GET /1.1/account_activity/webhooks/:webhook_id/subscriptions/all/list.json | GET /2/account_activity/webhooks/:webhook_id/subscriptions/all/list | OAuth2AppOnly 필요. |
| DELETE /1.1/account_activity/webhooks/:webhook_id/subscriptions/:user_id/all | DELETE /2/account_activity/webhooks/:webhook_id/subscriptions/:user_id/all | OAuth2AppOnly 필요. |
| DELETE /1.1/account_activity/webhooks/:webhook_id/subscriptions/all | 사용 중단됨 / 직접적인 대응 없음 | 개별 삭제를 사용하거나 DELETE /2/webhooks/:webhook_id로 웹훅을 삭제하세요. |
- 응답 형식: AAAPI 문서에서 성공 및 오류 응답 구조를 검토하세요.
마이그레이션 방법
- 패키지 선택:
- Account Activity API 액세스를 위해 Enterprise 또는 Self-serve 패키지 중에서 선택하세요. 다음을 고려하세요:
- 필요한 웹훅 개수
- 현재/예상 구독 또는 승인된 사용자 수
- X 클라이언트 애플리케이션 개수
- 원하는 지원 수준(포럼 vs. 관리형 엔터프라이즈 1:1 지원)
- 가격 세부 정보(Enterprise의 경우 영업 팀에 문의)
- Account Activity API 액세스를 위해 Enterprise 또는 Self-serve 패키지 중에서 선택하세요. 다음을 고려하세요:
- 인증을 OAuth 2.0으로 업데이트:
- 사용 중인 X App에 “읽기, 쓰기 및 다이렉트 메시지 액세스” 권한이 있는지 확인하세요.
- V2 엔드포인트에 대해 OAuth 2.0을 사용하도록 업데이트하세요. scope가 변경되었다면 사용자를 다시 인가하세요.
- 개발자 콘솔을 사용하여 다음을 관리하세요:
- OAuth 2.0 Access Token
- Client ID 및 Client Secret
- 웹훅 확인 또는 재구성:
- 기존 웹훅 URL을 사용하거나 새 URL을 설정하세요(예: https://your\_domain.com/webhook/twitter).
- 웹훅을 등록하고 관리하려면 V2 Webhooks API 문서를 따르세요.
- 샘플 App:
- Simple webhook server
- CRC 체크에 응답하고 POST 이벤트를 수신하는 방법을 보여주는 단일 Python 스크립트입니다.
- Account Activity API sample dashboard
- 웹훅과 구독을 관리하고, 라이브 이벤트를 App 내에서 직접 수신할 수 있도록 bun.sh로 작성된 웹 App입니다.
- Simple webhook server