Documentation Index
Fetch the complete documentation index at: https://generaltranslation.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
v2 포스트 조회 엔드포인트는 기존 v1.1의 표준 GET statuses/lookup 및 GET statuses/show 엔드포인트를 대체합니다. 이 가이드는 이러한 이전 버전에서 X API v2로 마이그레이션하는 개발자를 위한 것입니다.
| 설명 | Standard v1.1 | X API v2 |
|---|
| 지원되는 HTTP 메서드 | GET | GET |
| 호스트 도메인 | https://api.x.com | https://api.x.com |
| 엔드포인트 경로 | /1.1/statuses/show.json, /1.1/statuses/lookup.json | /2/tweets |
| 인증 | OAuth 1.0a 사용자 컨텍스트 | OAuth 1.0a 사용자 컨텍스트, OAuth 2.0 App-Only, OAuth 2.0 Authorization Code with PKCE |
| 게시물 JSON 형식 | Standard v1.1 형식 | X API v2 형식 (fields 및 expansions 매개변수로 결정되며, v1.1과 하위 호환되지 않음) |
| 특정 필드 선택 지원 | | ✔ |
| annotations 필드 지원 | | ✔ |
| 새로운 metrics 필드 지원 | | ✔ |
conversation_id 필드 지원 | | ✔ |
| 게시물 편집 이력 제공 | ✔ | ✔ |
| Project와 연결된 developer App의 자격 증명 필요 | | ✔ |
표준 v1.1 GET statuses/show 및 GET statuses/lookup 엔드포인트를 이미 사용해 왔다면, 이 가이드는 표준 엔드포인트와 X API v2 포스트 조회 엔드포인트 간의 공통점과 차이점을 이해하는 데 도움이 됩니다.
X API v1.1 데이터 형식과 X API v2 형식의 차이를 빠르게 확인하는 데 도움이 되는 시각적 데이터 형식 마이그레이션 도구도 함께 참고해 보세요.
-
유사점
- OAuth 1.0a 사용자 컨텍스트
- 요청당 포스트 개수 제한
- 포스트 수정 이력 및 메타데이터 지원
-
차이점
- 엔드포인트 URL
- App 및 Project 요구 사항
- 응답 데이터 형식
- 요청 매개변수
OAuth 1.0a 사용자 컨텍스트 인증 방식
표준 엔드포인트는 OAuth 1.0a User Context를 지원하며, 새 X API v2 게시물 조회 엔드포인트는 OAuth 1.0a User Context와 OAuth 2.0 App-Only를 모두 지원합니다. 따라서 이전에 표준 v1.1 게시물 조회 엔드포인트 중 하나를 사용했다면, X API v2 버전으로 마이그레이션하더라도 동일한 인증 방식을 계속 사용할 수 있습니다.
App-Only 인증은 시작하기에 가장 간단한 방법일 가능성이 높습니다. App 액세스 토큰을 생성하는 방법을 알아보려면 이 OAuth 2.0 App-only 가이드를 참고하세요.
v1.1 GET statuses/lookup 엔드포인트는 요청당 최대 100개의 포스트를 지정할 수 있습니다. 이는 GET /tweets 엔드포인트에도 동일하게 적용됩니다. 최대치인 100개의 포스트를 지정하려면 쉼표로 구분된 게시물 ID 목록을 쿼리 매개변수 ids로 전달하세요.
게시물 편집 기록 및 메타데이터 지원
두 버전 모두 편집 기록을 설명하는 메타데이터를 제공합니다. 자세한 내용은 Post 조회 API 참조 문서와 게시물 편집 기본 사항 페이지를 확인하세요.
-
Standard v1.1 엔드포인트:
https://api.x.com/1.1/statuses/show
https://api.x.com/1.1/statuses/lookup
-
X API v2 엔드포인트:
https://api.x.com/2/tweets
https://api.x.com/2/tweets/:id
X API v2 엔드포인트는 인증을 위해 developer App과 연결된 Project의 자격 증명이 필요합니다. X API v1.1 엔드포인트는 단독 App 또는 Project와 연결된 App의 자격 증명을 사용할 수 있습니다.
standard v1.1과 X API v2 엔드포인트 버전 간의 중요한 차이점 중 하나는 페이로드에서 필드를 선택하는 방식입니다.
standard 엔드포인트의 경우, 많은 응답 필드가 기본적으로 포함되며, 매개변수를 사용해 추가 필드를 지정할 수 있습니다.
반면 X API v2는 기본적으로 Post id 및 text 필드만 제공합니다. 추가 필드와 객체를 받으려면 fields 및 expansions 매개변수를 사용해야 합니다. 확장된 필드는 응답 내 includes 객체에 포함되며, ID를 일치시켜 기본 Post 객체와 매칭할 수 있습니다.
fields 및 expansions 사용에 대한 자세한 내용은 fields 및 expansions 사용 방법 가이드를 참고하세요. 또한 데이터 포맷 마이그레이션 가이드는 standard v1.1 필드를 새로운 v2 필드에 매핑합니다.
또한 X API v2는 Post 및 user 객체를 포함한 객체에 대해 새로운 JSON 설계를 도입합니다:
- standard 엔드포인트는 Post 객체를
statuses 배열로 반환하는 반면, X API v2는 data 배열을 사용합니다.
- X API v2에서는 “statuses”라는 용어 대신 Retweeted Tweet 및 Quoted Tweet이라는 용어를 사용합니다.
like와 같은 새로운 용어가 favorites 및 favourites와 같은 용어를 대체합니다.
- 값이 없는 속성(예:
null)은 X API v2 페이로드에 포함되지 않습니다.
X API v2의 Post 객체에는 다음과 같은 새로운 필드가 포함됩니다:
conversation_id
- 두 개의 새로운 annotations 필드(
context 및 entities)
- 새로운 metrics 필드
- 특정 Post에 누가 답글을 달 수 있는지를 나타내는
reply_setting 필드
다음 standard v1.1 요청 매개변수는 X API v2에서 이에 상응하는 매개변수가 있습니다:
일부 standard v1.1 매개변수는 X API v2에서 지원되지 않습니다:
| Standard | Comment |
|---|
tweet_mode | fields 및 expansions 기능으로 대체되었습니다. |
trim_user | fields 및 expansions로 대체되었습니다. 사용자 데이터에는 author_id expansion과 user.fields를 사용하세요. |
include_my_retweet | 인증한 사용자가 리트윗한 포스트의 원본 게시물 ID를 제공합니다. |
include_entities | 페이로드 내 엔터티를 제어하기 위해 fields 및 expansions를 사용하세요. |
include_ext_alt_text | alt 텍스트가 있을 경우 media 엔터티에 ext_alt_text 필드를 추가합니다. |
include_card_uri | ads 카드가 첨부된 경우 card_uri를 추가합니다. |
map | v1.1에서 필드가 null 처리되던 것과 달리, X API v2에서는 사용 불가능한 게시물에 대해 게시물 ID와 오류 메시지를 반환합니다. |
다음 cURL 요청은 표준 v1.1 엔드포인트와 이에 대응하는 v2 엔드포인트를 보여줍니다. 헤더의 ACCESS_TOKEN을 App 액세스 토큰으로 교체하세요. v2 엔드포인트의 경우, 토큰은 Project 내의 developer App에 속해야 합니다.
v1.1의 응답 페이로드는 v2와 다릅니다. v2에서는 fields 및 expansions 파라미터를 사용해 서로 다른 필드를 요청할 수 있습니다.
표준 v1.1 GET statuses/lookup 및 v2 GET /tweets 엔드포인트
curl --request GET \
--url 'https://api.x.com/1.1/statuses/lookup.json?id=1460323737035677698%2C1460323743339741184' \
--header 'Authorization: Bearer $ACCESS_TOKEN'
curl --request GET \
--url 'https://api.x.com/2/tweets?ids=1460323737035677698%2C1460323743339741184&tweet.fields=created_at&expansions=author_id&user.fields=created_at' \
--header 'Authorization: Bearer $ACCESS_TOKEN'
표준 v1.1의 GET statuses/show/:id 및 v2의 GET /tweets/:id 엔드포인트
curl --request GET \
--url 'https://api.x.com/1.1/statuses/show.json?id=1460323737035677698' \
--header 'Authorization: Bearer $ACCESS_TOKEN'
curl --request GET \
--url 'https://api.x.com/2/tweets/1460323737035677698?tweet.fields=created_at&expansions=author_id&user.fields=created_at' \
--header 'Authorization: Bearer $ACCESS_TOKEN'