Documentation Index
Fetch the complete documentation index at: https://generaltranslation.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
X は TypeScript と Python 向けの公式 SDK を提供しています。これらのライブラリは認証やページネーションを処理し、完全な型安全性を提供します。
Python SDK
非同期処理対応、型ヒント、v2 を包括的にサポート。
TypeScript SDK
完全な TypeScript 型定義、ESM 対応、Node.js で動作。
| 利点 | 説明 |
|---|
| 常に最新 | X によって管理され、新しいエンドポイントに合わせて随時更新 |
| 型安全性 | すべてのオブジェクトとメソッドに対する完全な type 定義 |
| 認証機能を内蔵 | OAuth 2.0 と OAuth 1.0a をサポート |
| 自動ページネーション | トークンを手動で扱うことなく結果を順番に取得可能 |
インストール
基本的な使い方
from xdk import Client
client = Client(bearer_token="YOUR_BEARER_TOKEN")
# ポストを検索します(イテレータを返します)
for page in client.posts.search_recent(query="api", max_results=10):
if page.data and len(page.data) > 0:
first_post = page.data[0]
print(first_post.text)
break
インストール
npm install @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);
両方の SDK で複数の認証方法をサポートしています:
ベアラートークン (App-only)
OAuth 2.0 (ユーザーコンテキスト)
OAuth 1.0a (ユーザーコンテキスト)
公開データを読み取るための最も簡単な方法です。Python:from xdk import Client
client = Client(bearer_token="YOUR_BEARER_TOKEN")
TypeScript:import { Client } from '@xdevplatform/xdk';
const client = new Client({ bearerToken: 'YOUR_BEARER_TOKEN' });
ユーザーに代わって操作を行う場合 (ポストの作成、フォローなど) に使用します。Python:from xdk import Client
from xdk.oauth2_auth import OAuth2PKCEAuth
auth = OAuth2PKCEAuth(
client_id="YOUR_CLIENT_ID",
redirect_uri="YOUR_CALLBACK_URL",
scope="tweet.read users.read offline.access"
)
# 認可 URL を取得します
auth_url = auth.get_authorization_url()
# ユーザーの認可後にコードをトークンと交換します
tokens = auth.fetch_token(authorization_response=callback_url)
client = Client(bearer_token=tokens["access_token"])
TypeScript: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 });
レガシーアプリケーションや特定のユースケース向けです。Python:from xdk import Client
from xdk.oauth1_auth import OAuth1
oauth1 = OAuth1(
api_key="YOUR_API_KEY",
api_secret="YOUR_API_SECRET",
access_token="YOUR_ACCESS_TOKEN",
access_token_secret="YOUR_ACCESS_TOKEN_SECRET"
)
client = Client(auth=oauth1)
TypeScript: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 });
SDK では、X API v2 のすべてのエンドポイントに対応するメソッドを提供しています。
| カテゴリ | Python | TypeScript |
|---|
| 投稿 | client.posts.search_recent() | client.posts.search() |
| ユーザー | client.users.get_me() | client.users.getMe() |
| Spaces | client.spaces.get() | client.spaces.findSpaceById() |
| リスト | client.lists.get() | client.lists.getList() |
| DM | client.direct_messages.get() | client.directMessages.lookup() |
メソッドの詳細な一覧については、SDK の完全なドキュメントを参照してください。
Python SDK ドキュメント
Python の包括的なドキュメントです。
TypeScript SDK ドキュメント
TypeScript の包括的なドキュメントです。
Python GitHub
ソースコードおよび issue。
TypeScript GitHub
ソースコードおよび issue。