메인 콘텐츠로 건너뛰기
이 페이지에서는 Retweet 엔드포인트 통합에 필요한 도구와 핵심 개념을 설명합니다.

유용한 도구

이 엔드포인트를 연동하는 데 도움이 될 몇 가지 핵심 개념을 살펴보기 전에, 먼저 다음 도구에 익숙해지시길 권장합니다:

Postman

Postman은 엔드포인트를 테스트해 볼 수 있는 매우 유용한 도구입니다. 각 Postman 요청에는 모든 경로와 본문 매개변수가 포함되어 있어 어떤 기능을 사용할 수 있는지 빠르게 파악하는 데 도움이 됩니다. Postman 컬렉션에 대한 더 자세한 내용은 “Using Postman” 페이지를 방문하세요.

코드 예제

선호하는 프로그래밍 언어로 이 엔드포인트를 바로 사용해 보고 싶으신가요? 시작점으로 활용할 수 있는 여러 코드 예제를 GitHub 페이지에서 제공하고 있습니다.

서드파티 라이브러리

우리 커뮤니티에서 제공하는 서드파티 라이브러리를 활용해 시작해 보세요. 적절한 버전 태그를 확인해 v2 엔드포인트와 함께 사용할 수 있는 라이브러리를 찾을 수 있습니다.

핵심 개념

인증

모든 X API v2 엔드포인트를 호출하려면 키와 토큰이라고도 하는 자격 증명 세트를 사용해 요청을 인증해야 합니다. 리트윗 조회 엔드포인트에 대한 요청을 인증할 때는 OAuth 1.0a User Context 또는 OAuth 2.0 Bearer Token 중 하나를 사용할 수 있습니다. 리트윗 관리 엔드포인트는 OAuth 1.0a User Context 사용이 필수이며, 이는 성공적인 요청을 위해 API 키와 사용자 액세스 토큰 세트를 사용해야 한다는 의미입니다. 액세스 토큰은 요청을 대신 보내고자 하는 해당 사용자와 연관되어 있어야 합니다. 다른 사용자를 위한 액세스 토큰 세트를 생성하려면, 그 사용자가 3-legged OAuth 플로를 통해 사용자의 App을 승인하거나 인증해야 합니다. OAuth 1.0a는 사용하기 까다로울 수 있습니다. 이 인증 방식에 익숙하지 않은 경우, 요청을 올바르게 인증하기 위해 라이브러리를 사용하시길 권장합니다. 유의 사항 다음 필드를 요청하는 경우 OAuth 1.0a User Context가 필요합니다:
  • tweet.fields.non_public_metrics
  • tweet.fields.promoted_metrics
  • tweet.fields.organic_metrics
  • media.fields.non_public_metrics
  • media.fields.promoted_metrics
  • media.fields.organic_metrics

개발자 콘솔, 프로젝트, 그리고 개발자 App

X API v2 엔드포인트에서 사용할 수 있는 인증 자격 증명 세트를 얻으려면 먼저 개발자 계정에 가입하고 해당 계정 안에 Project를 설정한 뒤, 그 Project 안에 developer App을 생성해야 합니다. 그런 다음 개발자 App 내에서 키와 토큰을 확인할 수 있습니다.

요청 한도

매일 수많은 개발자가 X API에 요청을 보냅니다. 이러한 요청의 방대한 양을 관리하기 위해 각 엔드포인트에는 요청 한도가 설정되어 있으며, 이는 App 또는 인증된 사용자를 대신해 보낼 수 있는 요청 수를 제한합니다. Retweets 관리 엔드포인트는 사용자당 15분에 50건의 요청으로 제한됩니다. 추가로, POST 엔드포인트의 경우 사용자·App당 3시간에 300건의 요청으로 제한됩니다. Retweets 조회 엔드포인트는 15분 기준으로 75건의 요청으로 제한됩니다. 또한 이 엔드포인트는 가장 최근에 리트윗한 사용자 100명만 반환합니다.

필드와 expansions

X API v2를 사용하면 fieldsexpansions라는 도구 집합을 통해 API에서 어떤 데이터를 반환받을지 정확하게 선택할 수 있습니다. expansions 파라미터를 사용하면 페이로드에서 참조되는 객체를 확장해 응답에 포함시킬 수 있습니다. 예를 들어, 이 엔드포인트에서는 다음과 같은 expansions을(를) 요청할 수 있습니다:
  • attachments.poll_ids
  • attachments.media_keys
  • author_id, entities.mentions.username
  • geo.place_id
  • in_reply_to_user_id,
  • referenced_tweets.id,
  • referenced_tweets.id.author_id
fields 파라미터를 사용하면 서로 다른 데이터 객체 내에서 어떤 fields를 받을지 정확하게 선택할 수 있습니다. 이 엔드포인트들은 주로 게시물(Post) 객체를 반환합니다. 기본적으로 게시물 객체는 idtext 필드를 반환합니다. tweet.created_at 또는 tweet.entities와 같은 추가 필드를 받으려면 fields 파라미터를 사용해 해당 필드들을 명시적으로 요청해야 합니다. 통합 시 활용을 고려할 만한 중요한 필드로는 투표 데이터, 메트릭, 게시물 주석(annotations), 그리고 대화 ID 필드 등이 있습니다. X API v2 데이터 사전fields 및 expansions 사용 방법을 함께 다루는 가이드를 추가해 두었습니다.

코드 예제

게시물을 리트윗한 사용자 조회

cURL
curl "https://api.x.com/2/tweets/1234567890/retweeted_by?user.fields=username,verified" \
  -H "Authorization: Bearer $BEARER_TOKEN"

게시물을 리트윗하기

cURL
curl -X POST "https://api.x.com/2/users/123/retweets" \
  -H "Authorization: OAuth ..." \
  -H "Content-Type: application/json" \
  -d '{"tweet_id": "1234567890"}'