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.
El SDK de TypeScript es compatible con varios métodos de autenticación para distintos casos de uso.
Bearer Token (autenticación solo de la aplicación)
Para operaciones de solo lectura y para el acceso a datos públicos:
import {
Client,
type ClientConfig,
type Users
} from '@xdevplatform/xdk';
const config: ClientConfig = { bearerToken: 'your-bearer-token' };
const client: Client = new Client(config);
async function main(): Promise<void> {
const userResponse: Users.GetByUsernameResponse = await client.users.getByUsername('XDevelopers');
const username: string = userResponse.data?.username!;
console.log(username);
}
main();
OAuth 1.0a (Contexto de usuario)
Para aplicaciones heredadas o casos de uso específicos:
import {
Client,
OAuth1,
type OAuth1Config,
type ClientConfig,
type Users
} from '@xdevplatform/xdk';
const oauth1Config: OAuth1Config = {
apiKey: 'your-api-key',
apiSecret: 'your-api-secret',
accessToken: 'user-access-token',
accessTokenSecret: 'user-access-token-secret'
};
const oauth1: OAuth1 = new OAuth1(oauth1Config);
const config: ClientConfig = {
oauth1: oauth1,
};
const client: Client = new Client(config);
async function main(): Promise<void> {
const response: Users.GetMeResponse = await client.users.getMe();
const me = response.data;
console.log(me);
}
main();
OAuth 2.0 (contexto de usuario)
Para operaciones específicas de un usuario:
import {
Client,
OAuth2,
generateCodeVerifier,
generateCodeChallenge,
type OAuth2Config,
type ClientConfig,
type OAuth2Token
} from '@xdevplatform/xdk';
(async (): Promise<void> => {
const oauth2Config: OAuth2Config = {
clientId: 'your-client-id',
clientSecret: 'your-client-secret',
redirectUri: 'https://example.com',
scope: ['tweet.read', 'users.read', 'offline.access'],
};
const oauth2: OAuth2 = new OAuth2(oauth2Config);
const state: string = 'example-state';
const codeVerifier: string = generateCodeVerifier();
const codeChallenge: string = await generateCodeChallenge(codeVerifier);
oauth2.setPkceParameters(codeVerifier, codeChallenge);
const authUrl: string = await oauth2.getAuthorizationUrl(state);
// El usuario visita authUrl y autoriza la aplicación
// Después de la autorización, el usuario es redirigido nuevamente con un parámetro code
// Extrae el code de la URL de callback (por ejemplo, de los parámetros de consulta)
const authCode: string = 'code-from-callback-url'; // Reemplaza con el code real del callback de OAuth
const tokens: OAuth2Token = await oauth2.exchangeCode(authCode, codeVerifier);
const config: ClientConfig = {
accessToken: tokens.access_token,
};
const client: Client = new Client(config);
});
Guarda credenciales sensibles en variables de entorno:
# .env
X_API_BEARER_TOKEN=your-bearer-token
X_API_CLIENT_ID=your-client-id
X_API_CLIENT_SECRET=your-client-secret
import { Client } from '@xdevplatform/xdk';
const client = new Client({ bearerToken: process.env.X_API_BEARER_TOKEN });