메인 콘텐츠로 건너뛰기

게시물 조회 엔드포인트 시작하기

이 빠른 시작 가이드는 Postman을 사용해 지정한 필드와 함께 게시물 조회 엔드포인트로 첫 요청을 보내는 방법을 안내합니다. 다양한 언어의 샘플 코드를 보고 싶다면 X API v2 샘플 코드 GitHub 리포지토리를 방문하세요.

사전 준비 사항

이 가이드를 완료하려면 요청을 인증할 키와 토큰 세트가 필요합니다. 다음 단계를 따라 키와 토큰을 생성하세요:
  • 개발자 계정에 가입하고 승인을 받습니다.
  • 개발자 포털에서 Project와 연결된 Developer 앱을 생성합니다.
  • App의 “Keys and tokens” 페이지로 이동해 필요한 자격 증명을 생성합니다. 모든 자격 증명은 안전한 위치에 보관하세요.

GET /tweets 요청을 빌드하는 단계

1단계: 도구 또는 라이브러리로 시작하기

이 엔드포인트에 요청을 보내는 데 사용할 수 있는 도구, 코드 예제, 라이브러리가 여러 가지 있지만, 여기서는 과정을 간소화하기 위해 Postman을 사용하겠습니다. X API v2 Postman 컬렉션을 환경에 불러오려면 아래 버튼을 클릭하세요: Postman에 X API v2 컬렉션을 불러온 후에는 “Post Lookup > Multiple Posts” 요청으로 이동하세요.

2단계: 요청 인증하기

X API에 올바르게 요청하려면 권한이 있는지 확인해야 합니다. 요청은 다음 방법으로 인증할 수 있습니다: 단순화를 위해 이 요청에서는 OAuth 2.0 App-Only를 사용하겠지만, 비공개 지표 또는 게시물을 요청하려면 다른 인증 방법 중 하나를 사용해야 합니다. OAuth 2.0 App-Only를 사용하려면 Postman 오른쪽 상단에서 “X API v2”라는 이름의 환경을 선택하고, 환경 드롭다운 옆 눈 모양 아이콘을 클릭해 “initial value” 및 “current value” 필드에 키와 토큰(특히 앱 액세스 토큰, App-only 베어러 토큰이라고도 함)을 추가해야 합니다. 올바르게 설정했다면, 이러한 변수는 요청의 Authorization 탭에 자동으로 채워집니다.

3단계: 가져올 게시물을 식별하고 지정하기

요청에서 수신하려는 단일 게시물 또는 여러 게시물을 반드시 지정해야 합니다. X.com에서 게시물을 클릭한 후 URL에서 Post ID를 확인할 수 있습니다. 예를 들어, 다음 URL의 Post ID는 1228393702244134912입니다. https://x.com/TwitterDev/status/1228393702244134912 Postman에서 “Params” 탭으로 이동하여 이 ID 또는 쉼표로 구분한 여러 Post ID 문자열을 ids 매개변수의 “Value” 열에 입력하세요.
KeyValue
ids1228393702244134912,1227640996038684673,1199786642791452673

4단계: 가져올 필드를 식별하고 지정하기

3단계를 마친 뒤 “Send” 버튼을 클릭하면 응답에 기본 게시물 객체 필드id, text, edit_history_tweet_ids가 반환됩니다. 이번 실습에서는 서로 다른 객체에서 세 가지 추가 필드 집합을 요청합니다:
  • 기본 게시물 객체에서 추가 tweet.created_at 필드
  • 반환된 게시물의 작성자(User) 객체에 대한 기본 필드: id, name, username
  • 연관된 사용자(User) 객체에서 추가 user.created_at 필드
Postman에서 “Params” 탭으로 이동해 “Query Params” 표에 다음 key:value 쌍을 추가하세요:
KeyValueReturned fields
tweet.fieldscreated_attweets.created_at
expansionsauthor_idincludes.users.id, includes.users.name, includes.users.username
user.fieldscreated_atincludes.users.created_at
“Send” 버튼 옆에 다음 URL이 표시됩니다:
https://api.x.com/2/tweets?ids=1228393702244134912,1227640996038684673,1199786642791452673&tweet.fields=created_at&expansions=author_id&user.fields=created_at

5단계: 요청 보내기 및 응답 검토

모든 설정을 마쳤다면 “Send” 버튼을 클릭하세요. 그러면 다음과 같은 응답이 반환됩니다:
{
    "data": [
        {
            "edit_history_tweet_ids": [
                "1228393702244134912"
            ],
            "text": "개발자는 발렌타인 카드에 뭐라고 썼을까요?\n  \nwhile(true) {\n    I = Love(You);  \n}",
            "id": "1228393702244134912",
            "created_at": "2020-02-14T19:00:55.000Z",
            "author_id": "2244994945"
        },
        {
            "edit_history_tweet_ids": [
                "1227640996038684673"
            ],
            "text": "의사: 인터넷에서 검색한다고 해서 의사가 되는 건 아닙니다\n\n개발자: https://t.co/mrju5ypPkb",
            "id": "1227640996038684673",
            "created_at": "2020-02-12T17:09:56.000Z",
            "author_id": "2244994945"
        },
        {
            "edit_history_tweet_ids": [
                "1199786642791452673"
            ],
            "text": "C#",
            "id": "1199786642791452673",
            "created_at": "2019-11-27T20:26:41.000Z",
            "author_id": "2244994945"
        }
    ],
    "includes": {
        "users": [
            {
                "name": "Developers"
                "created_at": "2013-12-14T04:35:55.000Z",
                "id": "2244994945",
                "username": "XDevelopers"
            }
        ]
    }
}