> ## Documentation Index
> Fetch the complete documentation index at: https://docs.x.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 개요

> v2 Posts lookup 엔드포인트는 standard v1.1 GET statuses/lookup 및 GET statuses/show를 대체합니다. migrate를 다루는 X API v2 standard 티어 레퍼런스입니다.

## X API의 Posts lookup 엔드포인트 비교

v2 Posts lookup 엔드포인트는 standard v1.1 [GET statuses/lookup](https://developer.x.com/en/docs/twitter-api/v1/tweets/post-and-engage/api-reference/get-statuses-lookup) 및 [GET statuses/show](https://developer.x.com/en/docs/twitter-api/v1/tweets/post-and-engage/api-reference/get-statuses-show-id) 엔드포인트를 대체합니다. 이 가이드는 이러한 이전 버전에서 X API v2로 마이그레이션하는 개발자를 위한 것입니다.

## 엔드포인트 비교표

| Description                                                              | Standard v1.1                                          | X API v2                                                                                                  |
| :----------------------------------------------------------------------- | :----------------------------------------------------- | :-------------------------------------------------------------------------------------------------------- |
| **지원 HTTP 메서드**                                                          | `GET`                                                  | `GET`                                                                                                     |
| **Host domain**                                                          | `https://api.x.com`                                    | `https://api.x.com`                                                                                       |
| **Endpoint path**                                                        | `/1.1/statuses/show.json`, `/1.1/statuses/lookup.json` | `/2/tweets`                                                                                               |
| **[인증](resources/fundamentals/authentication)**                          | OAuth 1.0a User Context                                | OAuth 1.0a User Context, OAuth 2.0 App-Only, OAuth 2.0 Authorization Code with PKCE                       |
| **Post [JSON 형식](/x-api/fundamentals/data-dictionary)**                  | Standard v1.1 format                                   | [X API v2 format](/x-api/fundamentals/data-dictionary), `fields` 및 `expansions` 파라미터로 결정 (v1.1과 하위 호환 불가) |
| **특정 [필드](/x-api/fundamentals/data-dictionary) 선택 지원**                   |                                                        | ✔                                                                                                         |
| **[annotations](/x-api/fundamentals/post-annotations) 필드 지원**            |                                                        | ✔                                                                                                         |
| **새로운 [metrics](/x-api/fundamentals/metrics) 필드 지원**                     |                                                        | ✔                                                                                                         |
| **`conversation_id` 필드 지원**                                              |                                                        | ✔                                                                                                         |
| **Post 편집 히스토리 제공**                                                      | ✔                                                      | ✔                                                                                                         |
| **Project에 연결된 [developer App](/fundamentals/developer-apps)의 자격 증명 필요** |                                                        | ✔                                                                                                         |

***

## Standard v1.1과 X API v2 비교

standard v1.1 GET statuses/show 및 GET statuses/lookup을 사용해 왔다면, 이 가이드는 standard와 X API v2 Posts lookup 엔드포인트의 공통점과 차이점을 이해하는 데 도움이 됩니다.

[X API v1.1 데이터 형식](/x-api/fundamentals/data-dictionary)과 [X API v2 형식](/x-api/fundamentals/data-dictionary)의 차이점을 빠르게 확인할 수 있는 [시각적 데이터 형식 마이그레이션 도구](/x-api/migrate/data-format-migration)도 참고하세요.

* **공통점**
  * OAuth 1.0a User Context
  * 요청당 게시물 수 제한
  * Post 편집 히스토리 및 메타데이터 지원

* **차이점**
  * 엔드포인트 URL
  * App 및 Project 요구사항
  * 응답 데이터 형식
  * 요청 파라미터

### 공통점

#### OAuth 1.0a User Context 인증 방식

standard 엔드포인트는 [OAuth 1.0a User Context](/resources/fundamentals/authentication)를 지원하며, 새로운 X API v2 Post lookup 엔드포인트는 OAuth 1.0a User Context와 [OAuth 2.0 App-Only](/resources/fundamentals/authentication)를 모두 지원합니다. 따라서 이전에 standard v1.1 Post lookup 엔드포인트 중 하나를 사용하고 있었다면, X API v2 버전으로 마이그레이션하더라도 동일한 인증 방식을 계속 사용할 수 있습니다.

App-Only 인증이 아마도 시작하기 가장 쉬운 방법일 것입니다. App Access Token 생성 방법은 [이 OAuth 2.0 App-only 가이드](/resources/fundamentals/authentication)를 참고하세요.

#### 요청당 게시물 수 제한

v1.1 [GET statuses/lookup](https://developer.x.com/en/docs/twitter-api/v1/tweets/post-and-engage/api-reference/get-statuses-lookup) 엔드포인트는 요청당 최대 100개의 게시물을 지정할 수 있습니다. 이는 GET /tweets 엔드포인트에도 적용됩니다. 전체 100개의 게시물을 지정하려면 `ids` 파라미터를 쿼리 파라미터로 사용하고 [Post ID](/resources/fundamentals/x-ids)를 쉼표로 구분된 목록으로 전달합니다.

**Post 편집 히스토리 및 메타데이터 지원**

두 버전 모두 편집 히스토리를 설명하는 메타데이터를 제공합니다. 자세한 내용은 Post lookup API 레퍼런스와 [Edit Posts 기본 페이지](/x-api/fundamentals/edit-posts)를 참고하세요.

### 차이점

#### 엔드포인트 URL

* **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`

#### App 및 Project 요구사항

X API v2 엔드포인트는 인증을 위해 [Project](/resources/fundamentals/developer-apps)에 연결된 [developer App](/resources/fundamentals/developer-apps)의 자격 증명을 요구합니다. X API v1.1 엔드포인트는 App의 자격 증명이나 App에 연결된 App의 자격 증명을 사용할 수 있습니다.

#### 응답 데이터 형식

standard v1.1과 X API v2 엔드포인트 버전의 중요한 차이 중 하나는 페이로드에서 필드가 선택되는 방식입니다.

standard 엔드포인트의 경우 많은 응답 필드가 기본적으로 포함되며, 파라미터로 추가 필드를 지정할 수 있습니다.

반면 X API v2는 기본적으로 Post `id`와 `text` 필드만 전달합니다. 추가 필드와 객체를 사용하려면 [fields](/x-api/fundamentals/fields) 및 [expansions](/x-api/fundamentals/expansions) 파라미터를 사용해야 합니다. 확장된 필드는 응답의 `includes` 객체로 반환되며, ID를 매칭하여 기본 Post 객체와 연결할 수 있습니다.

fields와 expansions 사용에 대한 자세한 내용은 [fields와 expansions 사용법 가이드](/x-api/fundamentals/data-dictionary)를 참고하세요. [데이터 형식 마이그레이션 가이드](/x-api/fundamentals/fields)도 standard v1.1 필드를 새로운 v2 필드에 매핑합니다.

또한 X API v2는 Post 및 [user](/x-api/fundamentals/fields) 객체를 포함한 객체에 새로운 JSON 설계를 도입합니다:

* standard 엔드포인트는 `statuses` 배열에 Post 객체를 반환하지만, X API v2는 `data` 배열을 사용합니다.
* X API v2에서는 "statuses" 용어 대신 Retweeted 및 Quoted Tweets를 사용합니다.
* `like` 같은 새로운 용어가 `favorites` 및 `favourites` 같은 용어를 대체합니다.
* 값이 없는(예: `null`) 속성은 X API v2 페이로드에 포함되지 않습니다.

X API v2의 Post 객체에는 다음과 같은 새로운 필드가 포함됩니다:

* `conversation_id`
* 두 개의 새로운 [annotations](/x-api/fundamentals/post-annotations) 필드(`context` 및 `entities`)
* 새로운 [metrics](/x-api/fundamentals/metrics) 필드
* 특정 게시물에 누가 답글을 달 수 있는지 보여주는 `reply_setting` 필드

#### 요청 파라미터

다음 standard v1.1 요청 파라미터는 X API v2에 동등한 것이 있습니다:

| Standard | X API v2 |
| :------- | :------- |
| `id`     | `ids`    |

X API v2에서 **지원되지 않는** 특정 standard v1.1 파라미터가 있습니다:

| Standard               | Comment                                                                            |
| :--------------------- | :--------------------------------------------------------------------------------- |
| `tweet_mode`           | fields 및 expansions 기능으로 대체됨.                                                      |
| `trim_user`            | fields 및 expansions로 대체됨. 사용자 데이터의 경우 `author_id` expansion과 `user.fields`를 사용하세요. |
| `include_my_retweet`   | 인증된 사용자가 리트윗한 게시물의 원본 Post ID를 제공합니다.                                              |
| `include_entities`     | 페이로드의 entities를 제어하려면 fields와 expansions를 사용하세요.                                   |
| `include_ext_alt_text` | 대체 텍스트가 있는 경우 미디어 엔티티에 `ext_alt_text` 필드를 추가합니다.                                   |
| `include_card_uri`     | 광고 카드가 첨부된 경우 `card_uri`를 추가합니다.                                                   |
| `map`                  | v1.1에서 필드를 null로 표시하는 것과 달리, X API v2에서는 사용할 수 없는 게시물에 대해 Post ID와 오류 메시지를 반환합니다.  |

### cURL 요청

다음 cURL 요청은 standard v1.1 엔드포인트와 그 v2 대응 엔드포인트를 보여줍니다. 헤더의 `ACCESS_TOKEN`을 app access token으로 교체하세요. v2 엔드포인트의 경우 토큰은 Project 내 [developer App](/fundamentals/developer-apps)에 속해야 합니다.

v1.1의 응답 페이로드는 v2와 다릅니다. v2에서는 [fields](/x-api/fundamentals/fields) 및 [expansions](/x-api/fundamentals/expansions) 파라미터로 다른 필드를 요청할 수 있습니다.

**Standard v1.1 `GET statuses/lookup`과 v2 `GET /tweets` 엔드포인트**

```bash theme={null}
curl --request GET \
  --url 'https://api.x.com/1.1/statuses/lookup.json?id=1460323737035677698%2C1460323743339741184' \
  --header 'Authorization: Bearer $ACCESS_TOKEN'
```

```bash theme={null}
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'
```

**Standard v1.1 `GET statuses/show/:id`과 v2 `GET /tweets/:id` 엔드포인트**

```bash theme={null}
curl --request GET \
  --url 'https://api.x.com/1.1/statuses/show.json?id=1460323737035677698' \
  --header 'Authorization: Bearer $ACCESS_TOKEN'
```

```bash theme={null}
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'
```
