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

# 如何获取只读玩家数据

> 从客户端或服务器 API 获取只读的 PlayFab 玩家数据，以公开玩家可以查看但无法直接修改的进度值。

要获取只读玩家数据，请使用服务器 API [GetUserReadOnlyData](xref:titleid.playfabapi.com.client.playerdatamanagement.getuserreadonlydata) 方法。

本主题中的 C# 示例是为 Unity SDK 编写的。Unity SDK 使用事件驱动模型来处理非同步任务。要使用 C# SDK 运行示例代码，您必须修改代码以使用异步任务模型。需要修改的方法在其签名中的方法名称上附加了 Async。例如，Unity SDK 中的 SetObject 在 C# SDK 中变为 SetObjectAsync。有关更多信息，请参阅[使用 async 和 await 进行异步编程](https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/async/)。

## C# 代码示例

以下 **C#** 代码示例使用 PlayFab 服务器 API 获取所有玩家只读数据。

```csharp theme={null}
public void GetUserReadOnlyData()
{
    PlayFabServerAPI.GetUserReadOnlyData(new GetUserDataRequest()
    {
        PlayFabId = "user PlayFabId here - obtained from any successful LoginResult",
    },
    result => {
        if(result.Data == null || !result.Data.ContainsKey("Sister")) Debug.Log("No Sister");
        else Debug.Log("Sister: "+result.Data["Sister"].Value);
    },
    error => {
        Debug.Log("Got error getting read-only user data:");
        Debug.Log(error.GenerateErrorReport());
    });
}
```

## 另请参阅

[如何设置只读玩家数据](/services/playfab/player-progression/player-data/how-to-set-read-only-player-data)


## Related topics

- [如何设置只读玩家数据](/zh-CN/services/playfab/player-progression/player-data/how-to-set-read-only-player-data.md)
- [玩家数据快速入门](/zh-CN/services/playfab/player-progression/player-data/quickstart.md)
- [如何获取内部玩家数据](/zh-CN/services/playfab/player-progression/player-data/how-to-get-internal-player-data.md)
- [如何设置内部玩家数据](/zh-CN/services/playfab/player-progression/player-data/how-to-set-internal-player-data.md)
- [通过 CloudScript 修改只读或内部玩家数据](/zh-CN/services/playfab/player-progression/player-data/how-to-modify-read-only-internal-player-data.md)
