메인 콘텐츠로 건너뛰기
최신 버전의 X API v2는 매우 중요한 변경 사항입니다. 따라서 이 마이그레이션 섹션을 몇 가지 부분으로 나누었습니다:
X API v2의 새로운 기능X API v2에 새로 추가된 엔드포인트와 기능에 대해 알아보세요.
마이그레이션할 준비가 되셨나요?일련의 가이드와 지침을 통해 마이그레이션을 시작하세요.
데이터 형식 마이그레이션 가이드기존에 standard v1.1 및 enterprise 데이터 형식과 함께 동작하던 데이터 파서를 어떻게 다시 구성할 수 있는지 알아보세요.
X API 엔드포인트 맵standard v1.1 및 enterprise 엔드포인트가 새로운 X API v2 엔드포인트에 어떻게 매핑되는지 확인하세요.

X API v2란?

X API v2는 이제 주요 X API이며, 제품 투자와 혁신이 집중되는 영역입니다. 우리는 다양한 개발자 커뮤니티를 더 잘 지원하기 위해 개발자들과 협력하여 차세대 X API를 구축해 왔습니다. 개발자 피드백을 바탕으로 더 폭넓은 요구 사항을 충족하고, 새로운 기능과 엔드포인트를 도입하며, 개발자 경험을 개선할 수 있도록 API를 다시 설계했습니다. X API v2는 이제 주요 X API이며, 제품 투자와 혁신이 집중되는 영역입니다. 지난 몇 년 동안 우리는 개발자들과 협력하여 더 폭넓은 요구 사항을 충족하고, 새로운 기능과 엔드포인트를 도입하며, 개발자 경험을 개선할 수 있도록 API를 다시 설계해 왔습니다. 우리는 개방형 개발자 플랫폼을 지속적으로 구축하는 데 전념하고 있으며, 여러분이 X API v2를 활용해 무엇을 만들지 기대하고 있습니다.

왜 마이그레이션해야 하나요?

X API v2는 현대적이고 더 지속 가능한 기반 위에 구축되었으며, 표준 v1.1 및 엔터프라이즈 제품을 위한 향상된 대체 엔드포인트뿐만 아니라 완전히 새로운 기능도 제공합니다. 당사는 레거시 API(v1.1 및 엔터프라이즈) 사용자가 v2로의 마이그레이션을 시작할 것을 강력히 권장하며, 해당 API들은 장기적으로 사용이 중단될 예정입니다. X API를 사용하여 공개 대화를 모니터링하고 분석하며, X에서 사람들과 소통하고, 새로운 기능을 혁신적으로 활용해 보세요. 이 섹션에서는 엔드포인트와 기능에 대해 설명합니다.

V2 endpoints

다음 가이드를 통해 v2 엔드포인트 전체 목록과 v2 이전 버전에서의 대응 엔드포인트를 확인할 수 있습니다: 대부분의 X API v2 엔드포인트는 기존 엔드포인트를 대체하지만, 여러 새로운 엔드포인트도 도입했습니다. 다음은 v2에서 새로 제공하는 엔드포인트의 몇 가지 예시입니다:
  • Spaces 엔드포인트는 사람들이 X Spaces를 더 잘 활용할 수 있도록 돕고, 개발자가 오디오 대화의 미래를 설계하는 데 기여할 수 있도록 합니다.
  • 답글 숨기기는 악의적이거나 산만하거나 오해를 불러일으킬 수 있는 답글의 영향을 대규모로 줄이는 도구를 구축할 수 있게 해 줍니다.
  • 새로운 Lists 엔드포인트를 사용하면 리스트를 고정 및 고정 해제하거나, 특정 사용자의 고정된 리스트를 조회할 수 있습니다.
  • 새로운 배치 규정 준수 엔드포인트를 사용하면 저장된 사용자 및 Tweet 데이터가 관련 규정을 준수하고 있는지 확인할 수 있습니다.

새로운 기능

X API v2에는 X API를 통해 더 많은 가치를 얻을 수 있도록 돕는 새로운 기능이 포함되어 있습니다. 다수의 신규 기능은 여러분의 피드백을 반영해 설계되었으며, 이전에는 엔터프라이즈 고객에게만 제공되던 일부 기능도 포함하고 있습니다. API의 주요 개선 사항은 다음과 같습니다.

새롭고 업데이트된 응답 객체 살펴보기

v2 엔드포인트에서는 다음 여섯 가지 데이터 객체를 사용할 수 있습니다:
ObjectDescription
TweetTweet 객체에는 id, text, created_at와 같은 루트 수준 필드가 길게 정의되어 있습니다. Tweet 객체는 user, media, poll, place를 포함한 여러 자식 객체의 부모 객체이기도 합니다.
UserUser 객체에는 참조된 사용자를 설명하는 X 사용자 계정 메타데이터가 포함되어 있습니다.
SpacesSpace 객체에는 state, host_id, is_ticketed, lang 등의 필드가 포함됩니다.
Lists리스트 객체에는 요청된 리스트에 대한 기본 정보(description, member_count, owner_id 등)가 포함됩니다.
MediaTweet에 이미지와 같은 미디어가 포함되어 있는 경우, media.fields 매개변수를 사용해 media 객체를 요청할 수 있으며, media_key, type, url, preview_image_url 등의 필드가 포함됩니다.
PollTweet에 포함된 투표는 어떤 엔드포인트에서도 기본(주) 객체는 아니지만, Tweet 객체에서 조회하고 확장할 수 있습니다.
Placeplace 객체에는 place_id, geo 객체, country_code 등의 필드가 포함됩니다. 이 정보는 Tweet을 식별하고 위치 기준으로 Tweet을 분석하는 데 사용할 수 있습니다.
필드와 expansions를 사용하는 방법에 대해 더 알아보세요.

수신할 객체와 필드를 유연하게 선택하기

GET 엔드포인트에 요청을 보내면 해당 엔드포인트와 관련된 기본 데이터 객체를 받게 되며, 여기에는 기본 필드 집합이 포함됩니다. 예를 들어, Tweet 객체는 기본적으로 idtext 필드를 제공합니다. 요청에 추가 필드를 포함해 가져오려면 fieldsexpansions 파라미터를 사용해야 합니다. expansions 파라미터를 사용하면 사용자의 고정 Tweet이나 미디어 객체와 같은 관련 데이터 객체를 가져올 수 있고, 필드 관련 파라미터를 사용하면 기본값을 넘어 반환된 객체 내에서 특정 필드를 선택적으로 요청할 수 있습니다. 다음은 다양한 X API v2 엔드포인트에서 요청할 수 있는 expansions의 전체 목록입니다:
Object / ResourceAvailable Expansions
Tweetsauthor_id, edit_history_tweet_ids, entities.mentions.username, in_reply_to_user_id, referenced_tweets.id, referenced_tweets.id.author_id, attachments.poll_ids, attachments.media_keys, geo.place_id
Userspinned_tweet_id
Spacesinvited_user_ids, speaker_ids, creator_id, host_ids, topic_ids
fields와 expansions를 사용하는 방법에 대해 더 자세히 알아보세요.

Tweet, 사용자, Spaces, 리스트, 미디어 객체에서 사용 가능한 신규 지표

이제 Tweet, 사용자, Spaces, 리스트, 미디어 객체에서 더 많은 지표를 조회할 수 있습니다. 이 지표에는 공개 지표와 비공개 지표가 모두 포함되며, 일부 지표는 Tweet 광고에서 오가닉(organic) 또는 프로모션(promoted) 컨텍스트로 세분해 확인할 수 있습니다. 사용 가능한 지표에 대해 더 알아보세요.
객체사용 가능한 지표공개 지표비공개 지표오가닉 지표프로모션 지표
tweetsretweet_count✔️✔️✔️
quote_count✔️
like_count✔️✔️✔️
reply_count✔️✔️✔️
impression_count✔️✔️✔️
url_profile_clicks✔️✔️✔️
url_link_clicks✔️✔️✔️
userfollower_count✔️
userfollowing_count✔️
mediaview_count✔️
mediaplayback_0_count✔️
spaceparticipant_count✔️

Tweet 편집

X API v2 엔드포인트는 편집된 Tweet 메타데이터를 제공합니다. Edit Tweet 기능은 2022년 9월 1일 X 직원들을 대상으로 테스트 목적으로 처음 도입되었습니다. 그날부터 편집 자격이 있는 Tweet은 30분 동안 최대 5번까지 편집할 수 있습니다. Tweet 편집에 대해 더 알아보세요. X API v2를 사용하면 개발자는 다음을 확인할 수 있습니다:
  • Tweet이 생성 시점에 편집 자격이 있었는지 여부. 설문조사가 포함된 Tweet이나 예약된 Tweet 등 일부 Tweet은 편집할 수 없습니다.
  • Tweet은 30분 동안 편집할 수 있으며, 최대 5번까지 편집이 가능합니다. 편집 가능한 Tweet의 경우 남은 편집 가능 시간과 추가로 몇 번 더 편집할 수 있는지 확인할 수 있습니다.
  • 현재 보고 있는 Tweet이 편집된 버전인지 여부(대부분의 경우, 특정 과거 버전을 Tweet ID로 요청하지 않는 한 API는 해당 Tweet의 최신 버전을 반환합니다).
  • 해당 Tweet의 전체 편집 기록.
  • Tweet 각 버전에 귀속되는 참여(engagement) 지표.

스레드 대화 추적

새로운 Tweet 필드를 사용하면 특정 Tweet이 어느 대화 스레드에 속하는지 식별할 수 있습니다. 대화 ID는 해당 대화를 시작한 Tweet의 Tweet ID입니다. 대화 추적에 대해 더 알아보세요.

마이그레이션 준비

v2 엔드포인트를 사용하려면 다음이 필요합니다. 프로젝트 내 App에서 발급된 키와 토큰을 사용하는 것이 중요합니다. 프로젝트 외부의 App에서 발급된 키와 토큰을 사용하는 경우 v2 엔드포인트에 요청을 보낼 수 없습니다. 개발자 계정을 보유하고 있으면 위의 모든 항목을 개발자 콘솔에서 설정할 수 있습니다.

인증

새로운 Twitter API에서는 서로 다른 엔드포인트에 접근하기 위해 OAuth 1.0a User Context와 OAuth 2.0 Bearer 토큰이라는 두 가지 인증 방식을 사용합니다. 각 방식은 엔드포인트에 요청을 보낼 때 서로 다른 용도로 사용됩니다. OAuth 1.0a User Context는 Twitter 사용자를 대신해 요청할 때 필요합니다. OAuth 2.0 Bearer 토큰은 개발자 App을 대신해 요청할 때 필요합니다.

도구 및 코드

새로운 엔드포인트와 기능에 익숙해지고 빠르게 시작할 수 있도록 몇 가지 옵션을 제공합니다.
  • Twitter Postman 컬렉션을 사용하면 Postman 클라이언트로 개별 엔드포인트에 요청을 보내고 연결할 수 있습니다. 이는 인증을 테스트하고 엔드포인트를 시험해 보기에 간편한 방법입니다.
  • 또한 Ruby, Python, Node.js, Java 등 다양한 언어에 대해 Twitter에서 지원하는 라이브러리와 서드파티 라이브러리 목록을 제공하고 있습니다. 자세한 내용은 도구 및 라이브러리 페이지를 참조하세요.

업데이트된 엔드포인트로 마이그레이션하기

새로운 Twitter v2 엔드포인트를 살펴보기 시작할 때, 각 업데이트된 엔드포인트의 기능을 이전 버전과 비교·대조할 수 있도록 다음과 같은 일련의 상세 마이그레이션 가이드를 제공하고 있습니다:

새로운 데이터 형식으로 마이그레이션

v1.1 또는 enterprise에서 v2로 전환할 때, 데이터 제공 형식이 크게 변경되었다는 점을 이해하는 것이 중요합니다. 새로운 필드가 추가되고, 필드의 순서가 변경되었으며, 일부 경우에는 요소가 완전히 제거되었습니다. 이러한 변경 사항을 더 잘 이해할 수 있도록, v2 이전 데이터 형식의 필드를 새로운 필드에 매핑하는 데 도움을 주고, 이러한 새 필드를 요청하는 방법을 설명하는 일련의 가이드를 준비하고 있습니다. 이 마이그레이션 허브의 데이터 형식 마이그레이션 섹션을 방문하거나, 다음과 같은 개별 데이터 형식 가이드를 통해 더 자세히 알아볼 수 있습니다.

다음 단계

플랫폼을 이미 한동안 사용해 온 분들은 많은 신규 엔드포인트가 기존 standard v1.1enterprise 엔드포인트와 일치하도록 설계되어 있다는 점을 알아차리셨을 것입니다. 실제로, 우리는 앞으로 이 엔드포인트들이 세 가지 버전 모두를 대체하도록 할 계획입니다. X API 엔드포인트 매핑이 이전 버전들과 어떻게 연결되는지 이해하는 데 도움이 되도록 표를 준비했습니다. 앞으로 어떤 기능이 추가될 예정인지 확인하려면 제품 로드맵을 방문해 주세요. 또한 이미 어떤 내용을 출시했는지 확인할 수 있는 변경 로그도 제공하고 있습니다.

다음에는 무엇을 만들어야 할까요?

X API v2의 추가 기능을 계속 확장해 나가면서 여러분의 의견을 계속 듣고 싶습니다. 여러분의 피드백을 언제나 환영하며 적극적으로 요청드립니다. 이미 제출된 아이디어를 살펴보고, 여러분의 필요와 맞는 것에 지지를 보내고, 의견도 함께 남겨 주세요!