전체 아카이브 게시물 개수를 사용하려면 Self-serve 또는 Enterprise 액세스 권한이 필요합니다.
전체 보관소 게시물 개수 가져오기
1
쿼리 작성
전체 보관소 검색과 동일한 쿼리 구문을 사용합니다. 예를 들어 @XDevelopers 계정의 게시물 개수를 확인하려면 다음과 같이 입력합니다:
from:XDevelopers
2
시간 범위 설정
특정 과거 기간을 검색하려면
start_time과 end_time을 지정합니다:| Parameter | Format | Example |
|---|---|---|
start_time | ISO 8601 | 2020-01-01T00:00:00Z |
end_time | ISO 8601 | 2020-12-31T23:59:59Z |
3
요청 보내기
cURL
curl "https://api.x.com/2/tweets/counts/all?\
query=from%3AXDevelopers&\
start_time=2020-01-01T00%3A00%3A00Z&\
end_time=2020-12-31T23%3A59%3A59Z&\
granularity=day" \
-H "Authorization: Bearer $BEARER_TOKEN"
from xdk import Client
client = Client(bearer_token="YOUR_BEARER_TOKEN")
# 전체 보관소 게시물 개수 가져오기
response = client.posts.count_all(
query="from:XDevelopers",
start_time="2020-01-01T00:00:00Z",
end_time="2020-12-31T23:59:59Z",
granularity="day"
)
for bucket in response.data:
print(f"{bucket.start}: {bucket.tweet_count} Posts")
print(f"Total: {response.meta.total_tweet_count}")
import { Client } from "@xdevplatform/xdk";
const client = new Client({ bearerToken: "YOUR_BEARER_TOKEN" });
// 전체 보관소 게시물 개수 가져오기
const response = await client.posts.countAll({
query: "from:XDevelopers",
startTime: "2020-01-01T00:00:00Z",
endTime: "2020-12-31T23:59:59Z",
granularity: "day",
});
response.data?.forEach((bucket) => {
console.log(`${bucket.start}: ${bucket.tweet_count} Posts`);
});
console.log(`Total: ${response.meta?.total_tweet_count}`);
4
응답 검토
{
"data": [
{
"end": "2020-01-02T00:00:00.000Z",
"start": "2020-01-01T00:00:00.000Z",
"tweet_count": 3
},
{
"end": "2020-01-03T00:00:00.000Z",
"start": "2020-01-02T00:00:00.000Z",
"tweet_count": 5
}
],
"meta": {
"total_tweet_count": 8
}
}
세분성 옵션
| Granularity | 설명 |
|---|---|
minute | 분 단위 집계 수 |
hour | 시간 단위 집계 수 (기본값) |
day | 일 단위 집계 수 |
결과를 페이지 단위로 조회하기
next_token을 사용하세요:
cURL
curl "https://api.x.com/2/tweets/counts/all?\
query=from%3AXDevelopers&\
start_time=2015-01-01T00%3A00%3A00Z&\
end_time=2020-12-31T23%3A59%3A59Z&\
granularity=day&\
next_token=abc123" \
-H "Authorization: Bearer $BEARER_TOKEN"
from xdk import Client
client = Client(bearer_token="YOUR_BEARER_TOKEN")
# 페이지네이션을 사용해 개수 가져오기
next_token = None
while True:
response = client.posts.count_all(
query="from:XDevelopers",
start_time="2015-01-01T00:00:00Z",
end_time="2020-12-31T23:59:59Z",
granularity="day",
next_token=next_token
)
for bucket in response.data:
print(f"{bucket.start}: {bucket.tweet_count}")
next_token = response.meta.next_token
if not next_token:
break
import { Client } from "@xdevplatform/xdk";
const client = new Client({ bearerToken: "YOUR_BEARER_TOKEN" });
// 페이지네이션을 사용해 개수 가져오기
let nextToken = undefined;
do {
const response = await client.posts.countAll({
query: "from:XDevelopers",
startTime: "2015-01-01T00:00:00Z",
endTime: "2020-12-31T23:59:59Z",
granularity: "day",
nextToken,
});
response.data?.forEach((bucket) => {
console.log(`${bucket.start}: ${bucket.tweet_count}`);
});
nextToken = response.meta?.next_token;
} while (nextToken);
최근 카운트와의 주요 차이점
| 기능 | 최근 카운트 | 전체 아카이브 카운트 |
|---|---|---|
| 시간 범위 | 최근 7일 | 2006년 3월부터 현재까지 |
| 필요한 접근 권한 | 모든 개발자 | 사용량 기반 과금, Enterprise |
| 기본 시간 범위 | 최근 7일 | 최근 30일 |
공통 매개변수
| Parameter | Description | Default |
|---|---|---|
query | 검색 쿼리 (필수) | — |
granularity | 시간 단위 | hour |
start_time | 가장 이른 타임스탬프 (ISO 8601) | 30일 전 |
end_time | 가장 최근 타임스탬프 (ISO 8601) | 현재 |
next_token | 페이지네이션 토큰 | — |
다음 단계
최근 집계
최근 게시물 개수 가져오기
쿼리 작성
쿼리 구문 익히기
API 참조 문서
전체 엔드포인트 문서