메인 콘텐츠로 건너뛰기

최신순 홈 타임라인 시작하기

이 빠른 시작 가이드는 Postman을 사용해 지정한 필드와 함께 타임라인 엔드포인트 중 하나에 첫 요청을 보내는 방법을 안내합니다. 여러 언어의 샘플 코드를 보려면 X API v2 샘플 코드 GitHub 저장소를 방문하세요. 
사전 준비 사항이 가이드를 완료하려면 요청을 인증할 키와 토큰이 필요합니다. 다음 단계를 따라 키와 토큰을 생성할 수 있습니다:
  • 개발자 계정 가입 후 승인을 받습니다.
  • 개발자 포털에서 Project와 연결된 Developer 앱을 생성합니다.
  • App의 “Keys and tokens” 페이지로 이동해 필요한 자격 증명을 생성합니다. 모든 자격 증명은 안전한 위치에 보관하세요.
최신순 홈 타임라인 요청 빌드 단계 이 예제에서는 사용자 게시물 타임라인 by ID 엔드포인트에 요청을 보내지만, 이 빠른 시작에서 배운 내용은 사용자 멘션 타임라인 요청에도 적용할 수 있습니다.  1단계: 도구 또는 라이브러리 선택 이 엔드포인트에 요청을 보낼 수 있는 다양한 도구, 코드 예제, 라이브러리가 있지만, 여기서는 과정을 단순화하기 위해 Postman을 사용합니다. X API v2 Postman 컬렉션을 환경에 로드하려면 다음 버튼을 클릭하세요: Postman에 X API v2 컬렉션을 로드한 후 “Timelines” 폴더로 이동하여 “Reverse chronological home timeline” 요청을 찾습니다. 2단계: 요청 인증 X API에 올바르게 요청하려면 권한이 있는지 확인해야 합니다. 이 엔드포인트의 경우 OAuth 2.0 Authorization Code with PKCE 또는 OAuth 1.0a 사용자 컨텍스트 방식으로 요청을 인증해야 합니다.  Postman에 키와 토큰을 추가해야 합니다. Postman 오른쪽 상단에서 “X API v2” 환경을 선택한 뒤, “initial value”와 “current value” 필드에 키와 토큰을 입력하세요(환경 드롭다운 옆 눈 모양 아이콘 클릭). 올바르게 설정했다면 이러한 변수는 요청의 Authorization 탭에 자동으로 반영됩니다. 3단계: 홈 타임라인을 조회할 사용자 식별 및 지정 요청에서 최근 게시물을 조회할 사용자를 지정해야 합니다. 이 예에서는 단일 사용자 id를 전달합니다. 사용자 id는 계정 프로필 URL에서 확인할 수 있는 계정 핸들을 나타내는 숫자 값입니다. 예를 들어, 다음 계정의 사용자명은 XDevelopers입니다. https://x.com/XDevelopers 이 사용자명을 사용자 id로 변환하려면 users lookup 엔드포인트를 사용자명과 함께 호출하여 페이로드에서 숫자 사용자 id를 확인하면 됩니다. @XDevelopers의 경우 사용자 id는 2244994945입니다. Postman에서 “Params” 탭으로 이동한 후 id 매개변수의 “Value” 열에 이 사용자 id를 입력합니다.
KeyValue
id2244994945
4단계: 조회할 필드 식별 및 지정 3단계 후 “Send” 버튼을 클릭하면 응답에서 기본 Post 객체 필드인 id, text, edit_history_tweet_ids가 반환됩니다. 추가 필드를 받으려면 요청에서 fields 및/또는 expansions 매개변수로 해당 필드를 지정해야 합니다. 이 연습에서는 서로 다른 객체에서 세 가지 추가 필드 세트를 요청하겠습니다:
  1. 기본 사용자 객체의 추가 tweet.created_at 필드.
  2. 반환된 게시물의 작성자 사용자 객체 기본 필드: id, name, username
  3. 관련 사용자 객체의 추가 user.created_at 필드.  
Postman에서 “Params” 탭으로 이동한 후 “Query Params” 표에 다음 키:값 쌍을 추가하세요:
KeyValueReturned fields
tweet.fieldscreated_attweets.created_at
expansionsauthor_idincludes.users.id, includes.users.name, includes.users.username
user.fieldscreated_atincludes.users.created_at
max_results5
이제 “Send” 버튼 옆에 다음 URL이 표시됩니다: https://api.x.com/2/users/:id/timelines/reverse_chronological?tweet.fields=created_at&expansions=author_id&user.fields=created_at&max_results=5
유의 사항:Postman에서 URL 필드의 경로 매개변수 :id 는 id params 필드에 입력한 값으로 자동으로 업데이트되지 않습니다. 따라서 위의 URL에는 2244994945가 아닌 :id 가 포함됩니다.
5단계: 요청을 보내고 응답을 확인하세요 모든 설정을 마쳤다면 “Send” 버튼을 눌러 다음과 같은 응답을 받으세요:
	"data": [
		{
			"created_at": "2022-05-12T17:00:00.000Z",
			"text": "오늘은 X API로 개발하는 개발자들이 개발자를 위해 만든 기술 비디오 시리즈인 Devs in the Details의 출시일입니다. 🚀\n\n이번 첫 에피소드에서 @jessicagarson이 @FactualCat을 어떻게 구축했는지 안내합니다 #WelcomeToOurTechTalk\n⬇️\n\nhttps://t.co/nGa8JTQVBJ",
			"author_id": "2244994945",
			"id": "1524796546306478083"
		},
		{
			"created_at": "2022-05-11T19:16:40.000Z",
			"text": "📢 내일 5월 12일 | 5:30 ET / 2:30pm PT에 @jessicagarson @alanbenlee 그리고 @i_am_daniele이 봇의 미래에 대해 논의합니다 https://t.co/sQ2bIO1fz6",
			"author_id": "2244994945",
			"id": "1524468552404668416"
		},
		{
			"created_at": "2022-05-09T20:12:01.000Z",
			"text": "X API로 봇을 만드시나요? 🤖\n\n5월 12일 목요일 | 5:30 ET / 2:30pm PT에 @jessicagarson @alanbenlee 그리고 @iamdaniele과 함께 봇의 미래에 대해 논의하고 여러분의 질문에 답변합니다. 🎙📆⬇️\n\nhttps://t.co/2uVt7hCcdG",
			"author_id": "2244994945",
			"id": "1523757705436958720"
		},
		{
			"created_at": "2022-05-06T18:19:54.000Z",
			"text": "지원을 원하시거나 다른 분을 프로그램에 추천하고 싶으시다면 다음 양식을 작성해 주세요:\n\nhttps://t.co/LUuWj24HLu",
			"author_id": "2244994945",
			"id": "1522642324781633536"
		},
		{
			"created_at": "2022-05-06T18:19:53.000Z",
			"text": "포럼 게시물에서 각 Insider에 대해 더 자세히 설명했습니다.\n\n새로운 멤버들을 축하하는 데 함께해 주세요! 🥳\n\nhttps://t.co/0r5maYEjPJ",
			"author_id": "2244994945",
			"id": "1522642323535847424"
		}
	],
	"includes": {
		"users": [
			{
				"created_at": "2013-12-14T04:35:55.000Z",
				"name": "Twitter Dev",
				"username": "TwitterDev",
				"id": "2244994945"
			}
		]
	},
	"meta": {
		"result_count": 5,
		"newest_id": "1524796546306478083",
		"oldest_id": "1522642323535847424",
		"next_token": "7140dibdnow9c7btw421dyz6jism75z99gyxd8egarsc4"
	}
}
6단계: 결과 페이지네이션 처리하기 이전 응답의 하단에는 다음 필드를 포함한 메타데이터 객체가 있습니다:
  • oldest_id
  • newest_id
  • results_count
  • next_token
  • previous_token
4단계에서 max_results 값을 5로 설정했으므로 각 페이지에는 최대 다섯 개의 결과만 포함됩니다. 추가 데이터 페이지에 접근하려면 마지막 결과의 next_token 필드 값을 가져와 해당 문자열을 Postman params 페이지의 pagination_token 매개변수 값으로 추가하고, 다른 항목은 그대로 유지합니다. 
KeyValue
pagination_tokent3buvdr5pujq9g7bggsnf3ep2ha28
모든 설정이 완료되면 “Send”를 다시 클릭하여 다음 페이지의 결과를 받을 수 있습니다.  이 개념을 더 자세히 설명하는 페이지네이션 가이드를 준비했습니다. 다음 단계 API 참조를 사용해 요청을 맞춤 설정하세요 도움이 필요하면 커뮤니티에 문의하세요