# 更新用户元数据

**URL:** https://heroiclabs.com/docs/zh/nakama/client-libraries/snippets/user-metadata/
**Summary:** 通过示例介绍如何用RPC以授权方式更新玩家的元数据。
**Categories:** snippets

---


# 更新用户元数据

以下示例介绍如何用RPC以授权方式更新玩家的元数据。

```go
initializer.RegisterRpc("UpdateMetadata", func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, payload string) (string, error) {
    userId, ok := ctx.Value(runtime.RUNTIME_CTX_USER_ID).(string)
    if !ok {
        return "", errors.New("could not get user ID from context")
    }

    if err := nk.AccountUpdateId(ctx, userId, "", map[string]interface{}{
        "title": "Definitely Not The Imposter",
        "hat":  "space_helmet"
        "skin": "alien"},
    }, "", "", "", "", ""); err != nil {
        return "", errors.New("could not update account")
    }

    return "{}", nil
})
```
