> ## Documentation Index
> Fetch the complete documentation index at: https://x-preview-mintlify-143107c1.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Client

> X API SDK의 client Python 패키지에 대한 참조로, X API v2의 client 엔드포인트를 위한 클라이언트와 Pydantic 모델을 그룹화합니다.

이 모듈은 X API와 상호작용하기 위한 주요 Client 클래스를 제공합니다.
모든 하위 클라이언트를 조정하고 인증, 세션 관리,
OAuth2 PKCE 흐름을 처리합니다. 모든 기능은 OpenAPI 명세에서 생성됩니다.

## Client

<Badge color="blue">Class</Badge>

<Badge color="gray">기반 클래스: object</Badge>

\| None = None)

X API와 상호작용하기 위한 클라이언트입니다.

## 생성자

### `__init__`

X API 클라이언트를 초기화합니다.

#### 매개변수

<ParamField path="path.base_url" type="str" default="'https://api.x.com'">
  X API의 기본 URL입니다(기본값은 [https://api.x.com](https://api.x.com)).
</ParamField>

<ParamField path="path.bearer_token" type="str or None" default="None">
  X API의 Bearer Token입니다(앱 전용 인증).
</ParamField>

<ParamField path="path.access_token" type="str or None" default="None">
  사용자 컨텍스트를 위한 OAuth 2.0 액세스 토큰입니다(Bearer Token으로 직접 사용 가능).
</ParamField>

<ParamField path="path.client_id" type="str or None" default="None">
  X API의 client ID입니다(OAuth 2.0 PKCE 흐름에 필요).
</ParamField>

<ParamField path="path.client_secret" type="str or None" default="None">
  X API의 client secret입니다.
</ParamField>

<ParamField path="path.redirect_uri" type="str or None" default="None">
  OAuth 2.0 인증을 위한 redirect URI입니다.
</ParamField>

<ParamField path="path.token" type="Dict[str, Any] or None" default="None">
  기존 OAuth 2.0 토큰 딕셔너리입니다(가능한 경우). 제공되면 access\_token이 추출됩니다.
</ParamField>

<ParamField path="path.scope" type="str or List[str] or None" default="None">
  OAuth 2.0 인증 스코프를 위한 공백으로 구분된 문자열 또는 문자열 목록입니다.
</ParamField>

<ParamField path="path.authorization_base_url" type="str" default="'https://x.com/i'">
  OAuth 2.0 인증을 위한 기본 URL입니다(기본값은 [https://x.com/i](https://x.com/i)).
</ParamField>

<ParamField path="path.auth" type="OAuth1">
  OAuth 1.0a 인증을 위한 OAuth1 인스턴스입니다.
</ParamField>

#### 매개변수

<ParamField path="path.base_url" type="str" default="'https://api.x.com'" />

<ParamField path="path.bearer_token" type="str or None" default="None" />

<ParamField path="path.access_token" type="str or None" default="None" />

<ParamField path="path.client_id" type="str or None" default="None" />

<ParamField path="path.client_secret" type="str or None" default="None" />

<ParamField path="path.redirect_uri" type="str or None" default="None" />

<ParamField path="path.token" type="Dict[str, Any] or None" default="None" />

<ParamField path="path.scope" type="str or List[str] or None" default="None" />

<ParamField path="path.authorization_base_url" type="str" default="'https://x.com/i'" />

<ParamField path="path.auth" type="OAuth1" />

### `exchange_code`

인증 코드를 토큰으로 교환합니다(TypeScript API와 일치).

#### 매개변수

<ParamField path="path.code" type="Any">
  콜백에서 받은 인증 코드입니다.
</ParamField>

<ParamField path="path.code_verifier" type="Any" default="None">
  선택적 code verifier입니다(제공되지 않으면 저장된 verifier를 사용).
</ParamField>

### `fetch_token`

인증 응답 URL을 사용하여 토큰을 가져옵니다(레거시 메서드).

#### 매개변수

<ParamField path="path.authorization_response" type="Any">
  인증 후 수신된 전체 콜백 URL입니다.
</ParamField>

### `get_authorization_url`

OAuth 2.0 PKCE 흐름을 위한 인증 URL을 가져옵니다.

#### 매개변수

<ParamField path="path.state" type="Any" default="None">
  보안을 위한 선택적 state 매개변수입니다.
</ParamField>

### `is_token_expired`

OAuth 2.0 토큰이 만료되었는지 확인합니다.

### `refresh_token`

OAuth 2.0 토큰을 갱신합니다.
