GitHub 저장소
소스 코드, 이슈 및 릴리스.
설치
빠른 시작
주요 기능
인증
- Bearer Token
- OAuth 2.0
- OAuth 1.0a
일반적인 메서드
자세히 알아보기
설치
패키지 관리자, TypeScript 설정 및 요구 사항.
인증
모든 인증 방법에 대한 자세한 가이드.
페이지네이션
비동기 반복 및 페이지네이션된 응답.
스트리밍
재연결이 있는 이벤트 기반 스트리밍.
API 레퍼런스
전체 클라이언트, 인터페이스 및 타입 레퍼런스.
Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
인증, 타입 지정된 응답, 페이지네이션 및 스트리밍 예제와 함께 X API v2를 위한 공식 TypeScript XDK 클라이언트 라이브러리를 설치하고 사용합니다.
npm install @xdevplatform/xdk
yarn add @xdevplatform/xdk
pnpm add @xdevplatform/xdk
import { Client } from '@xdevplatform/xdk';
const client = new Client({ bearerToken: 'YOUR_BEARER_TOKEN' });
const userResponse = await client.users.getByUsername('XDevelopers');
console.log(userResponse.data?.username);
| 기능 | 설명 |
|---|---|
| 타입 안전성 | 모든 엔드포인트 및 매개변수에 대한 완전한 TypeScript 정의 |
| 인증 | Bearer Token, PKCE가 포함된 OAuth 2.0, OAuth 1.0a |
| 자동 페이지네이션 | 페이지네이션된 엔드포인트에 대한 비동기 반복 지원 |
| 스트리밍 | 자동 재연결이 있는 이벤트 기반 스트리밍 |
| 전체 API 지원 | Users, Posts, Lists, Bookmarks, Communities 등 |
import { Client } from '@xdevplatform/xdk';
const client = new Client({ bearerToken: 'YOUR_BEARER_TOKEN' });
import { Client, OAuth2, generateCodeVerifier, generateCodeChallenge } from '@xdevplatform/xdk';
const oauth2 = new OAuth2({
clientId: 'YOUR_CLIENT_ID',
clientSecret: 'YOUR_CLIENT_SECRET',
redirectUri: 'https://your-app.com/callback',
scope: ['tweet.read', 'users.read', 'offline.access'],
});
const codeVerifier = generateCodeVerifier();
const codeChallenge = await generateCodeChallenge(codeVerifier);
oauth2.setPkceParameters(codeVerifier, codeChallenge);
const authUrl = await oauth2.getAuthorizationUrl('state');
const tokens = await oauth2.exchangeCode(authCode, codeVerifier);
const client = new Client({ accessToken: tokens.access_token });
import { Client, OAuth1 } from '@xdevplatform/xdk';
const oauth1 = new OAuth1({
apiKey: 'YOUR_API_KEY',
apiSecret: 'YOUR_API_SECRET',
accessToken: 'YOUR_ACCESS_TOKEN',
accessTokenSecret: 'YOUR_ACCESS_TOKEN_SECRET'
});
const client = new Client({ oauth1: oauth1 });
| 카테고리 | 메서드 |
|---|---|
| Posts | client.posts.search() |
| Users | client.users.getMe() |
| Spaces | client.spaces.findSpaceById() |
| Lists | client.lists.getList() |
| DMs | client.directMessages.lookup() |