> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Inicio rápido de Python

> Instale el SDK de PlayFab para Python 3 y realice su primera llamada a la API de PlayFab desde un script nativo de Python para herramientas de administración o integración con motores de juego.

Este inicio rápido está diseñado para ayudarle a realizar su primera llamada a la API en Python 3.

Un proyecto nativo de Python se puede usar de varias maneras:

* Como una herramienta de administración de consola independiente para el mantenimiento de su juego.
* Integración en un motor de juego existente basado en Python.
  * Para obtener una lista de motores de juego de Python, consulte [PythonGameLibraries](https://wiki.python.org/moin/PythonGameLibraries) en el sitio web de python.org.

## Requisitos previos

* Una [cuenta de desarrollador de PlayFab](https://developer.playfab.com).
* [Python 3](https://www.python.org/downloads/) instalado en su sistema.
  * También debe tener instalado el módulo requests.

<Note>
  Esta versión beta del SDK de Python solo admite llamadas sincrónicas a la API, y el bucle de su juego puede quedar bloqueado al realizar llamadas a la API de PlayFab. Es posible que necesite crear su propio modelo asincrónico o de subprocesos para evitar este problema.
</Note>

Si tiene dificultades para depurar un problema y la información de error proporcionada no es suficiente, visítenos en nuestros [foros de PlayFab](https://community.playfab.com/index.html).

## Configuración del proyecto de Python

1. Desde un símbolo del sistema, instale el [paquete de PlayFab](https://pypi.org/project/playfab/) con el siguiente comando.

```cmd theme={null}
pip install playfab
```

Si `pip` no está en su ruta de acceso, use el siguiente comando en su lugar.

```cmd theme={null}
python -m pip install playfab
```

2. En el directorio de su proyecto, cree un script de Python llamado playfab\_test.py.

## Configurar su primera llamada a la API

Este inicio rápido proporciona los pasos mínimos para realizar su primera llamada a la API de PlayFab, sin ninguna GUI ni comentarios en pantalla. La confirmación se realiza con una instrucción print en la consola.

Reemplace el contenido de su archivo playfab\_test.py con el contenido que se muestra a continuación.

```python theme={null}
from playfab import PlayFabClientAPI, PlayFabSettings

PlayFabSettings.TitleId = "144"

request = {
    "CustomId": "GettingStartedGuide",
    "CreateAccount": True
}

def callback(success, failure):
    if success:
        print("Congratulations, you made your first successful API call!")
    else:
        print("Something went wrong with your first API call.  :(")
        if failure:
            print("Here's some debug information:")
            print(failure.GenerateErrorReport())
PlayFabClientAPI.LoginWithCustomID(request, callback)
```

## Finalizar y ejecutar

Ejecute el script de Python con el comando que se muestra a continuación.

```cmd theme={null}
python playfab_test.py
```

Cuando termine, debería ver el siguiente texto: "Congratulations, you made your first successful API call!"

En este momento, puede empezar a realizar otras llamadas a la API y a crear su juego. Para obtener una lista de todas las llamadas a la API de cliente disponibles, consulte nuestra documentación de [referencias de API de PlayFab](/services/playfab/api-references).

¡Feliz programación!

## Análisis del código

Esta última sección opcional describe cada parte de playfab\_test.py en detalle.

* Importaciones
  * Las importaciones de PlayFab le proporcionan acceso a las API.

* `PlayFabSettings.TitleId = "144"`
  * Cada desarrollador de PlayFab crea un título en Game Manager. Cuando publique su juego, debe codificar ese titleId en su juego. Esto permite al cliente saber cómo acceder a los datos correctos dentro de PlayFab. Para la mayoría de los usuarios, considérelo simplemente un paso obligatorio que hace que PlayFab funcione.

* request
  * La mayoría de los métodos de la API de PlayFab requieren parámetros de entrada, y esos parámetros de entrada se empaquetan en un objeto de diccionario.
    * `LoginWithCustomIDRequest` toma un parámetro obligatorio de `CustomId`, que identifica de forma única a un jugador y devuelve el token de entidad asociado, y `CreateAccount`, que permite la creación de una nueva cuenta con esta llamada.
    * Para el inicio de sesión, la mayoría de los desarrolladores querrán usar un método de inicio de sesión más apropiado.
      * Consulte la [documentación de inicio de sesión de PlayFab](xref:titleid.playfabapi.com.client.authentication) para obtener una lista de todos los métodos de inicio de sesión y los parámetros de entrada. Las opciones comunes son:
        * [LoginWithAndroidDeviceID](xref:titleid.playfabapi.com.client.authentication.loginwithandroiddeviceid)
        * [LoginWithIOSDeviceID](xref:titleid.playfabapi.com.client.authentication.loginwithiosdeviceid)
        * [LoginWithEmailAddress](xref:titleid.playfabapi.com.client.authentication.loginwithemailaddress)

* Callback
  * Success
    * Si la llamada a la API se realizó correctamente, success contendrá la información solicitada y failure será `None`.
    * Para las solicitudes de inicio de sesión, success contendrá información básica sobre el jugador, pero para la mayoría de los usuarios, el inicio de sesión es simplemente un paso obligatorio antes de llamar a otras API.

  * Failure
    * Si la llamada a la API no se realizó correctamente, failure contendrá información de error y success será `None`.
    * Las llamadas a la API pueden fallar por muchas razones, y siempre debería intentar controlar el error.
    * Por qué fallan las llamadas a la API (en orden de probabilidad)
      * `PlayFabSettings.TitleId` no está establecido. Si olvida establecer `titleId` en su título, nada funcionará.
      * Parámetros de la solicitud. Si no ha proporcionado la información correcta o requerida para una llamada a la API en particular, esta fallará.
      * Problema de conectividad del dispositivo. Los teléfonos móviles pierden y recuperan la conectividad constantemente, por lo que cualquier llamada a la API en cualquier momento puede fallar aleatoriamente y luego funcionar inmediatamente después. Entrar en un túnel puede desconectarle por completo.
      * Problema del servidor de PlayFab. Como con todo software, puede haber problemas. Consulte nuestras [notas de la versión](/services/playfab/release-notes) para obtener actualizaciones.
      * Internet no es 100 % confiable. A veces el mensaje se daña o no llega al servidor de PlayFab.

* `PlayFabClientAPI.LoginWithCustomID`
  * Desencadena la llamada a la API de forma sincrónica. Cuando se completa, se invoca la devolución de llamada.


## Related topics

- [Lenguajes compatibles con PlayFab](/es/services/playfab/sdks/languages/index.md)
- [Inicio rápido de Linux](/es/services/playfab/sdks/c/quickstart-linux.md)
- [Inicio rápido de iOS](/es/services/playfab/sdks/c/quickstart-ios.md)
- [Inicio rápido de Win32](/es/services/playfab/sdks/c/quickstart-win32.md)
- [Inicio rápido de Android](/es/services/playfab/sdks/c/quickstart-android.md)
