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

# PlayFab GDPR - プレイヤー データのエクスポート

> GDPR 準拠のために ExportMasterPlayerData を使用して PlayFab プレイヤーのデータをエクスポートする方法。統計、インベントリ、購入、およびイベント履歴を対象とします。

# データのエクスポート

この記事では、PlayFab からプレイヤーとイベント データをエクスポートする方法について説明します。

## プレイヤー アカウント データのエクスポート

プレイヤーのデータをエクスポートするリクエストを行うと、リクエストは **キュー処理エージェント** に送信されます (プレイヤーの削除と同様)。

[ExportMasterPlayerData](https://learn.microsoft.com/en-us/rest/api/playfab/admin/account-management/export-master-player-data) API は、指定された `PlayFabId` に関連するすべてのデータをエクスポートします。これには、次のような、すべてのタイトルにわたるデータが含まれます:

* **統計**
* **カスタム データ**
* **インベントリ**
* **購入**
* **プレイヤー作成アイテム/UGC**
* **トランザクション履歴**
* **仮想通貨残高**
* **キャラクター**
* **グループ メンバーシップ**
* **パブリッシャー データ**
* **資格情報データ**
* **アカウント リンケージ**
* **フレンド リスト**
* **PlayStream イベント履歴**

プレイヤーのすべての PlayFabId を確実に把握する方法の詳細については、[すべてのデータを必ず見つけてください](/services/playfab/data-analytics/privacy-compliance/playfab-gdpr-deleting-and-exporting-player-data) をお読みください。

この API はすぐに `JobReceiptId` を返します。今後の参照のためにこれを記録に保存してください。エクスポートがダウンロード可能になるまでには時間がかかる場合があります。

エクスポートの完了時に、エクスポートのダウンロード リンクを含むメールが、タイトル用に構成された通知メール アドレスに送信されます。

タスクの完了は [`player_data_exported` PlayStream イベント](/services/playfab/api-references/events/PlayerIdentity/player-data-exported) もトリガーします。イベントには、プロパティとして `JobReceiptId` と、エクスポートされたデータへのアクセスを提供する `ExportDownloadUrl` プロパティが含まれます。[Azure Functions を用いたオートメーション ルール](/services/playfab/live-service-management/service-gateway/automation/cloudscript-af/quickstart#azure-functions-in-automation-rules) または [Webhook](/services/playfab/data-analytics/acting-data/webhooks-overview) のいずれかを使用して、選択したエンドポイントでこれらのイベントを受信するよう登録し、必要に応じて処理できます。

以下の例は、[C# SDK](/services/playfab/sdks/c-sharp) で Admin API を使用する方法を示しています。別の SDK を使用したい場合は、[PlayFab SDKs](/services/playfab/sdks/playfab-sdk-intro) のリストから選択してください。

```csharp theme={null}
public static async void ExportMasterPlayerExample(Action<PlayFabError> callback)
{
    var task = await PlayFabAdminAPI.ExportMasterPlayerDataAsync(new ExportMasterPlayerDataRequest()
    {
        PlayFabId = PlayFabId
    });

    if(task.Error != null)
    {
        callback(task.Error);
    }

    var jobReceiptId = task.Result.JobReceiptId;

    Console.WriteLine(string.Format("Export Player Request Received - Receipt: {0}", jobReceiptId));

    callback(null);
}
```

<Note>
  URL は、エクスポートの完了後、最大 30 日間利用できます。この時間を経過すると、ファイルは削除され、*新しい* エクスポート リクエストを開始する必要があります。
</Note>

## エクスポートされたデータの形式

エクスポートされたデータは、`JobReceiptId` とエクスポート時刻を含む名前の ZIP アーカイブにパッケージ化されます。アーカイブには、ディレクトリ構造に整理された複数のファイルが含まれます。

| ファイル パス                                                                                                                      | 説明                                                                                                                                                                                                                                                                                           |
| ---------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| /master\_player\_export.json                                                                                                 | <p>PlayFab に記録されているプレイヤーのデータを含む JSON ファイルです。これには、プレイヤーが参加している各タイトルのデータが含まれます。</p><p>JSON ドキュメントのスキーマは、OpenAPI 仕様として提供されています。`https://<your_title_id>.playfabapi.com/Swagger/MasterPlayerDataExport.swagger.json` の `MasterPlayerDataExport` オブジェクトを参照してください。</p>                             |
| /CustomFiles/MasterPlayerFiles/\*                                                                                            | プレイヤーの `master_player_account` エンティティに関連付けられたカスタム [エンティティ ファイル](/services/playfab/live-service-management/game-configuration/entities/entity-files) が含まれます。                                                                                                                                  |
| /CustomFiles/TitlePlayerFiles/\<TitlePlayerAccountId>/\*                                                                     | <p>プレイヤーの `title_player_account` エンティティに関連付けられたカスタム [エンティティ ファイル](/services/playfab/live-service-management/game-configuration/entities/entity-files) が含まれます。</p><p>ファイルは、プレイヤーが参加している各タイトルごとに 1 つのサブディレクトリに整理されています。各サブディレクトリの名前は、そのタイトルにおけるプレイヤーの `title_player_account` エンティティ ID です。</p> |
| /TitlePlayerEvents/\<TitleId>/event-history\_1.jsonl <br />...<br /> /TitlePlayerEvents/\<TitleId>/event-history\_\<N>.jsonl | <p>プレイヤーに関して記録された PlayStream イベントとテレメトリ イベントです。</p><p>ファイルは、プレイヤーが参加している各タイトルごとに 1 つのサブディレクトリに整理されています。各サブディレクトリの名前は Title ID です。</p><p>各サブディレクトリには、プレイヤーが指定されたタイトルで持っているデータ量に応じて、1 つ以上の `event-history` ファイルが含まれます。ファイルには、1 行に 1 つのイベントの形式で、JSON オブジェクトにシリアル化されたイベントが含まれます。</p>             |

## イベント データのエクスポート

PlayFab には、いくつかのタイプのイベント データ—カスタム データ、エンティティ オブジェクト、およびエンティティ ファイルがあります。

### カスタム データのエクスポート

カスタム データは、プレイヤーに任意のデータを関連付けることを可能にする幅広いカテゴリの機能を指します。PlayFab はゲーム ロジックからデータを操作する方法を提供しますが、それ以外の方法でデータを解釈したり理解したりすることはありません。

#### レガシー プレイヤー データ

[ExportMasterPlayerData](https://learn.microsoft.com/en-us/rest/api/playfab/admin/account-management/export-master-player-data) API を使用する場合 (PlayFab データのエクスポート セクションを参照)、すべてのプレイヤー データ プロパティは、ZIP アーカイブのルートにある master\_player\_export.json ファイル内に含まれます:

* 「Publisher」データは JSONPath: \$.PublisherData にあります。
* タイトル別データは JSONPath: \$.Titles\[\*].CustomData にあります。

これらの値のみをエクスポートする必要がある場合は、専用の「get」API 経由でも取得できます。専用の API の利点は、すぐに戻り値を返すことです。ただし、この機能の設計上、必要なデータの特定のタイプに基づいて、適切な API を呼び出す必要があります:

GetUserData、GetUserInternalData、GetUserReadOnlyData、GetUserPublisherData、GetUserPublisherInternalData、GetUserPublisherReadOnlyData

### エンティティ オブジェクトのエクスポート

[ExportMasterPlayerData](https://learn.microsoft.com/en-us/rest/api/playfab/admin/account-management/export-master-player-data) API を使用する場合、すべてのエンティティ オブジェクトは、ZIP アーカイブのルートにある **master\_player\_export.json** ファイル内で見つけることができます:

**master\_player\_account** エンティティ オブジェクトは JSONPath: **\$.CustomObjects** にあります。

**title\_player\_account** エンティティ オブジェクトは JSONPath: **\$.Titles\[\*].CustomObjects** にあります。

キャラクター エンティティ オブジェクトは JSONPath: **\$.Titles\[*].Characters\[*].CustomObjects** にあります。

エンティティ オブジェクトは、[GetObjects](https://learn.microsoft.com/en-us/rest/api/playfab/data/object/get-objects) API 経由でも取得できます。どのエンティティのオブジェクトを探しているか既にわかっている場合は、オブジェクトをすぐに返す専用の API を使用する方が簡単です。ただし、欠点は、プレイヤーの **master\_player\_account** エンティティ、各 **title\_player\_account** エンティティ、および各キャラクター エンティティごとに、API を別々に呼び出す必要があることです。

### エンティティ ファイルのエクスポート

[ExportMasterPlayerData](https://learn.microsoft.com/en-us/rest/api/playfab/admin/account-management/export-master-player-data) API を使用する場合、プレイヤーに関連付けられたすべてのエンティティ ファイルは、そのまま ZIP アーカイブの /CustomFiles/ ディレクトリに追加されます。具体的には:

プレイヤーの **master\_player\_account** エンティティのファイルは /CustomFiles/MasterPlayerFiles/\* にあります。

**title\_player\_account** については、ファイルは /CustomFiles/TitlePlayerFiles/\<TitlePlayerAccountId>/\* にあります。

<Note>
  エンティティごとに 1 つのサブディレクトリが存在し、ディレクトリ名は title\_player\_account エンティティ ID です。
</Note>

エンティティ ファイルは直接ダウンロードすることもできます。まず、[GetFiles](https://learn.microsoft.com/en-us/rest/api/playfab/data/file/get-files) API を呼び出して、エンティティのファイルに関するメタデータを取得します。各ファイル メタデータ ドキュメントには DownloadUrl プロパティが含まれており、これを使用してファイルを直接ダウンロードできます。


## Related topics

- [PlayFab GDPR - プレイヤー データの削除とエクスポート](/ja-jp/services/playfab/data-analytics/privacy-compliance/playfab-gdpr-deleting-and-exporting-player-data.md)
- [Insights エクスポート](/ja-jp/services/playfab/data-analytics/legacy/insights/export.md)
- [セグメント内のプレイヤーをエクスポートするチュートリアル](/ja-jp/services/playfab/live-service-management/game-configuration/segmentation/segmentation-export-players-in-a-segment.md)
- [PlayFab GDPR - プレイヤー データの削除](/ja-jp/services/playfab/data-analytics/privacy-compliance/gdpr-deleting-player-data.md)
- [プレイヤーデータのクイックスタート](/ja-jp/services/playfab/player-progression/player-data/quickstart.md)
