이 빠른 시작 가이드는 Postman을 사용해 지정한 필드와 함께 전체 보관 아카이브 검색 엔드포인트에 첫 요청을 보내는 방법을 안내합니다.
다양한 언어의 샘플 코드를 보고 싶다면 X API v2 샘플 코드 GitHub 리포지토리를 방문하세요.
사전 요구 사항
전체 보관 아카이브 검색 엔드포인트는 현재 Pro 및 Enterprise 액세스에서만 사용할 수 있습니다. 이 엔드포인트를 사용하려면 Pro 액세스로 업그레이드하거나 Enterprise 액세스 레벨을 신청해야 합니다.액세스 승인을 받는 것 외에도 요청 인증을 위해 키와 토큰 세트가 필요합니다. 다음 단계에 따라 키와 토큰을 생성할 수 있습니다.
-
개발자 포털에서 Enterprise 또는 Pro 액세스가 있는 Project로 이동하고, 해당 Project에 연결된 Developer 앱이 있는지 확인하세요.
-
App의 “Keys and tokens” 페이지로 이동해 필요한 자격 증명을 생성하세요. 모든 자격 증명은 안전한 위치에 보관하세요.
1단계: 도구 또는 라이브러리로 시작
이 엔드포인트에 요청을 보내는 데 사용할 수 있는 다양한 도구, 코드 예제, 라이브러리가 있지만, 여기서는 과정을 단순화하기 위해 Postman을 사용하겠습니다.
X API v2 Postman 컬렉션을 환경에 로드하려면 아래 버튼을 클릭하세요:
Postman에 X API v2 컬렉션을 로드한 후, Search Posts > Full-archive search request로 이동하세요.
2단계: 요청 인증
X API에 요청을 올바르게 보내려면 권한을 확인해야 합니다. 이 엔드포인트의 경우 OAuth 2.0 App-Only 인증 방식으로 요청을 인증해야 합니다.
Postman에 키와 토큰, 특히 App Access Token (App-only Bearer Token이라고도 함)을 추가해야 합니다. 이를 위해 Postman 우측 상단에서 “X API v2” 환경을 선택한 뒤, 환경 드롭다운 옆의 눈 아이콘을 클릭해 “initial value”와 “current value” 필드에 키와 토큰을 입력하세요.
올바르게 설정했다면 이 변수는 요청의 Authorization 탭에 자동으로 반영됩니다.
3단계: 검색 쿼리 작성
각 전체 아카이브 검색 요청에는 단일 검색 쿼리가 필요합니다. 이 예제에서는 @XDevelopers 계정이 게시한 게시물과 일치하는 쿼리를 사용합니다. 이 쿼리에서는 from 연산자를 사용하고 값을 XDevelopers로 설정합니다(대소문자 구분 없음):
from:XDevelopers
Postman에서 “Params” 탭으로 이동한 다음, 이 ID 또는 쉼표로 구분된 게시물 ID 문자열을 ids 파라미터의 “Value” 열에 입력하세요.
| Key | Value | Description |
|---|
query | from:XDevelopers | 전체 아카이브 검색 엔드포인트에 제출할 검색 쿼리 |
Step four: 가져오려는 필드를 식별하고 지정하기
3단계를 마친 후 “Send” 버튼을 클릭하면, 응답에는 기본 Post object 필드인 id, text, edit_history_tweet_ids가 반환됩니다. 편집 기능 도입 이전의 게시물인 경우 edit_history_tweet_ids 필드는 제공되지 않습니다. 이 필드에 대해 과거 이력 채우기 작업은 수행되지 않았습니다.
기본 필드 외의 추가 필드를 받고 싶다면, 요청에서 fields 및/또는 expansions 파라미터로 해당 필드를 지정해야 합니다.
이 연습에서는 서로 다른 객체에서 네 가지 필드 세트를 요청합니다:
- 기본 Post 객체 필드
- 기본 게시물 객체의 추가 tweet.created_at 필드
- 반환된 게시물의 작성자에 대한 user 객체 기본 필드
- 연관된 사용자 객체의 추가 user.description 필드
Postman에서 “Params” 탭으로 이동하여 “Query Params” 표에 다음 key:value 쌍을 추가하세요:
| Key | Value | Returned fields |
|---|
tweet.fields | created_at | tweets.created_at |
expansions | author_id | includes.users.id, includes.users.name, includes.users.username |
user.fields | description | includes.users.description |
이제 “Send” 버튼 옆에 다음 URL이 표시되어야 합니다:
https://api.x.com/2/tweets/search/all?query=from:XDevelopers&tweet.fields=created_at&expansions=author_id&user.fields=created_at
유의 사항기본적으로 가장 최근 게시물 10개만 반환됩니다. 요청당 10개보다 많은 게시물을 원한다면 max_results 파라미터를 사용하여 요청당 최대 500개 게시물로 설정할 수 있습니다. 또한 기본적으로 최근 30일의 게시물만 반환됩니다. 30일보다 오래된 게시물을 가져오려면 API 호출에서 start_time 및 end_time 파라미터를 사용하세요.
5단계: 요청 보내기 및 응답 검토
모든 설정을 마쳤다면 “Send” 버튼을 클릭하세요. 그러면 아래와 유사한 응답을 받게 됩니다:
{
"data": [
{
"author_id": "2244994945",
"created_at": "2020-06-11T16:05:06.000Z",
"id": "1271111223220809728",
"text": "오늘 밤 @jessicagarson이 여러분이 선호하는 Python 패키지를 R에서 실행하는 방법을 안내합니다. 🍿\n\n데이터 과학을 위한 두 가지 강력한 프로그래밍 언어를 함께 사용하는 방법을 배우고, X의 Developer Labs에서 최근 검색 엔드포인트를 사용하는 실제 예제를 확인하세요. https://t.co/v178oUZNuj"
},
{
"author_id": "2244994945",
"created_at": "2020-06-10T19:25:24.000Z",
"id": "1270799243071062016",
"text": "새로운 X API를 구축하는 과정에서 여러 Labs v1 엔드포인트의 지원 중단 일정을 연장했습니다. 자세히 알아보기 📖 https://t.co/rRWaJYJgKk"
},
{
"author_id": "2244994945",
"created_at": "2020-06-09T18:08:47.000Z",
"id": "1270417572001976322",
"text": "주석을 사용하면 트윗에 대해 더 자세히 알 수 있으며, 관심 주제를 찾는 데에도 도움이 됩니다. 🔬\n\n이 튜토리얼에서 @suhemparack은 주석과 필터링된 스트림 엔드포인트를 사용하여 COVID-19 관련 트윗을 찾는 방법을 보여줍니다.\n\n여러분도 직접 해보세요. ⤵️\nhttps://t.co/qwVOgw0zSV"
}
],
"includes": {
"users": [
{
"description": "X #DevRel 팀의 공식 계정이자 X API 관련 업데이트, 뉴스 및 이벤트에 대한 공식 소스입니다. \n\n#BlackLivesMatter",
"id": "2244994945",
"name": "Twitter Dev",
"username": "TwitterDev"
}
]
},
"meta": {
"newest_id": "1271111223220809728",
"oldest_id": "1270417572001976322",
"result_count": 3
}
}
이 예시에서는 매우 간단한 쿼리를 사용했습니다. 더 자세한 안내서를 보려면 아래의 리소스를 방문하세요.
다음 단계
API Reference를 사용해 요청 사용자 지정하기
쿼리 연산자 전체 목록 보기
이 엔드포인트용 샘플 코드 사용