> ## 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.

# Python クイックスタート

> PlayFab Python 3 SDK をインストールし、管理者ツールまたはゲーム エンジン統合用にネイティブ Python スクリプトから最初の PlayFab API 呼び出しを行います。

このクイックスタートは、Python 3 で最初の API 呼び出しを行うのに役立ちます。

ネイティブ Python プロジェクトは、次のようないくつかの方法で使用できます。

* ゲームを維持するためのスタンドアロン コンソール管理ツールとして。
* 既存の Python ベースのゲーム エンジンへの統合。
  * Python ゲーム エンジンの一覧については、python.org の [PythonGameLibraries](https://wiki.python.org/moin/PythonGameLibraries) を参照してください。

## 前提条件

* [PlayFab 開発者アカウント](https://developer.playfab.com)。
* お使いのシステムにインストールされた [Python 3](https://www.python.org/downloads/)。
  * requests モジュールもインストールされている必要があります。

<Note>
  この Python SDK のベータ リリースは同期 API 呼び出しのみをサポートしており、PlayFab API 呼び出しの実行中にゲーム ループがブロックされる可能性があります。この問題を回避するために、独自の非同期/スレッド モデルを作成する必要がある場合があります。
</Note>

問題のデバッグに苦労しており、エラー情報内の情報だけでは不十分な場合は、[PlayFab フォーラム](https://community.playfab.com/index.html) にアクセスしてください。

## Python プロジェクトのセットアップ

1. コマンド プロンプトから、次のコマンドを使用して [PlayFab パッケージ](https://pypi.org/project/playfab/) をインストールします。

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

`pip` が PATH にない場合は、代わりに次のコマンドを使用します。

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

2. プロジェクト ディレクトリに、playfab\_test.py という名前の Python スクリプトを作成します。

## 最初の API 呼び出しをセットアップする

このクイックスタートでは、GUI や画面上のフィードバックを使用せずに、最初の PlayFab API 呼び出しを行うための最小限の手順を説明します。確認はコンソール print ステートメントを使用して行います。

playfab\_test.py ファイルの内容を以下に示す内容に置き換えます。

```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)
```

## 完了して実行する

以下に示すコマンドを使用して Python スクリプトを実行します。

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

完了すると、次のテキストが表示されるはずです: "Congratulations, you made your first successful API call!"

この時点で、他の API 呼び出しを開始し、ゲームを構築できます。利用可能なすべてのクライアント API 呼び出しの一覧については、[PlayFab API リファレンス](/services/playfab/api-references) のドキュメントを参照してください。

Happy coding!

## コードの詳細解説

このオプションの最終セクションでは、playfab\_test.py の各部分を詳細に説明します。

* インポート
  * PlayFab のインポートにより、API へのアクセスが得られます。

* `PlayFabSettings.TitleId = "144"`
  * すべての PlayFab 開発者は、Game Manager でタイトルを作成します。ゲームを公開する際、その titleId をゲームにコーディングする必要があります。これにより、クライアントは PlayFab 内の正しいデータへのアクセス方法を知ることができます。ほとんどのユーザーにとって、これは PlayFab を動作させるために必要な手順と考えてください。

* request
  * ほとんどの PlayFab API メソッドは入力パラメーターを必要とし、それらの入力パラメーターは辞書オブジェクトにまとめられます。
    * `LoginWithCustomIDRequest` は、プレイヤーを一意に識別して関連するエンティティ トークンを返す必須パラメーター `CustomId` と、この呼び出しで新しいアカウントの作成を許可する `CreateAccount` を受け取ります。
    * ログインについては、ほとんどの開発者はより適切なログイン メソッドを使用することを望むでしょう。
      * すべてのログイン メソッドと入力パラメーターの一覧については、[PlayFab ログイン ドキュメント](xref:titleid.playfabapi.com.client.authentication) を参照してください。一般的な選択肢は次のとおりです。
        * [LoginWithAndroidDeviceID](xref:titleid.playfabapi.com.client.authentication.loginwithandroiddeviceid)
        * [LoginWithIOSDeviceID](xref:titleid.playfabapi.com.client.authentication.loginwithiosdeviceid)
        * [LoginWithEmailAddress](xref:titleid.playfabapi.com.client.authentication.loginwithemailaddress)

* コールバック
  * Success
    * API 呼び出しが成功した場合、success には要求された情報が含まれ、failure は `None` になります。
    * ログイン リクエストの場合、success にはプレイヤーに関する基本情報が含まれますが、ほとんどのユーザーにとって、ログインは他の API を呼び出す前の必須ステップにすぎません。

  * Failure
    * API 呼び出しが成功しなかった場合、failure にはエラー情報が含まれ、success は `None` になります。
    * API 呼び出しはさまざまな理由で失敗する可能性があるため、常に失敗を処理するようにしてください。
    * API 呼び出しが失敗する理由 (可能性の高い順)
      * `PlayFabSettings.TitleId` が設定されていない。`titleId` をタイトルに設定するのを忘れた場合、何も動作しません。
      * リクエスト パラメーター。特定の API 呼び出しに対して正しい情報や必要な情報を提供していない場合、失敗します。
      * デバイスの接続の問題。携帯電話は接続を頻繁に失ったり回復したりします。そのため、いつでも API 呼び出しがランダムに失敗し、その後すぐに動作することがあります。トンネルに入ると、完全に切断される可能性があります。
      * PlayFab サーバーの問題。すべてのソフトウェアと同様に、問題が発生する可能性があります。更新については [リリース ノート](/services/playfab/release-notes) を参照してください。
      * インターネットは 100% 信頼できるわけではありません。メッセージが破損したり、PlayFab サーバーに到達しなかったりすることがあります。

* `PlayFabClientAPI.LoginWithCustomID`
  * API 呼び出しを同期的にトリガーします。完了すると、コールバックが呼び出されます。


## Related topics

- [PlayFab がサポートする言語](/ja-jp/services/playfab/sdks/languages/index.md)
- [クイックスタート](/ja-jp/services/playfab/economy-monetization/economy-v2/quickstart.md)
- [クイックスタート iOS](/ja-jp/services/playfab/sdks/c/quickstart-ios.md)
- [クイックスタート Linux](/ja-jp/services/playfab/sdks/c/quickstart-linux.md)
- [クイックスタート Win32](/ja-jp/services/playfab/sdks/c/quickstart-win32.md)
