인증
| 방식 | 최적 용도 | 비공개 메트릭에 접근 가능 여부 |
|---|---|---|
| OAuth 2.0 App-Only | 서버 간 통신, 공개 데이터 | 아니요 |
| OAuth 2.0 Authorization Code with PKCE | 사용자 대상 App | 예 (인가된 사용자의 포스트) |
| OAuth 1.0a User Context | 레거시 통합 | 예 (인가된 사용자의 포스트) |
App-Only authentication
cURL
User Context 인증
필드와 expansions
fields와 expansions를 사용하세요.
기본 응답
사용 가능한 필드
tweet.fields
tweet.fields
| Field | Description |
|---|---|
created_at | 게시물 생성 타임스탬프 |
author_id | 작성자의 사용자 ID |
public_metrics | 좋아요, 리포스트, 답글, 인용 횟수 |
entities | 해시태그, 멘션, URL, 캐시태그 |
attachments | 미디어 키, 투표 ID |
conversation_id | 스레드 식별자 |
context_annotations | 토픽/엔터티 분류 |
in_reply_to_user_id | 답글 대상 사용자 |
lang | 감지된 언어 |
source | 게시 클라이언트 |
possibly_sensitive | 민감한 콘텐츠 플래그 |
reply_settings | 답글 허용 범위 |
user.fields (requires author_id expansion)
user.fields (requires author_id expansion)
media.fields (requires attachments.media_keys expansion)
media.fields (requires attachments.media_keys expansion)
| Field | Description |
|---|---|
url | 미디어 URL |
preview_image_url | 썸네일 URL |
type | photo, video, animated_gif |
duration_ms | 동영상 길이 |
height, width | 크기 |
alt_text | 접근성 텍스트 |
필드가 포함된 예시
cURL
게시물 수정
작동 방식
- 각 편집 시 새로운 게시물 ID가 생성됩니다
edit_history_tweet_ids에는 모든 버전이 포함되며, 가장 오래된 것부터 나열됩니다- 이 엔드포인트에서는 항상 최신 버전을 반환합니다
응답 예시
오류 처리
일반적인 오류
| Status | Error | Solution |
|---|---|---|
| 400 | 잘못된 요청 | 매개변수 형식을 확인하세요 |
| 401 | 인증 실패 | 인증 정보를 확인하세요 |
| 403 | 액세스 거부 | App 권한을 확인하세요 |
| 404 | 찾을 수 없음 | 게시물이 삭제되었거나 존재하지 않습니다 |
| 429 | 요청이 너무 많습니다 | 잠시 기다렸다가 다시 시도하세요 (요청 한도 참고) |
삭제되었거나 보호된 포스트
- 단일 게시물 조회에서는
404를 반환합니다. - 다중 게시물 조회에서는 결과에서 해당 게시물을 제외하고
errors배열을 포함합니다.
모범 사례
요청 일괄 처리
multi-Post endpoint를 사용해 한 번에 최대 100개의 게시물을 가져와 API 호출을 줄이세요.
필요한 필드만 요청
응답 크기와 처리 시간을 최소화하기 위해 필요한 필드만 지정하세요.
응답 캐싱
동일한 콘텐츠에 대한 반복 요청을 줄이기 위해 게시물 데이터를 로컬에 캐싱하세요.
수정 처리
실시간 앱의 경우 30분 편집 가능 시간이 지난 후에 게시물을 다시 조회하는 것을 고려하세요.
다음 단계
API 참조 문서
완전한 엔드포인트 문서
데이터 사전
사용 가능한 모든 객체와 필드
샘플 코드
동작하는 코드 예제
오류 처리
오류를 안정적으로 처리하는 방법