Method: recall.linkPersona

将提供的 Recall 会话 ID 中编码的 PGS 玩家主账号与游戏内账号相关联

HTTP 请求

POST https://games.googleapis.com/games/v1/recall:linkPersona

请求正文

请求正文中包含结构如下的数据:

JSON 表示法
{
  "sessionId": string,
  "persona": string,
  "token": string,
  "cardinalityConstraint": enum (RecallTokensCardinalityConstraint),
  "conflictingLinksResolutionPolicy": enum (ConflictingLinksResolutionPolicy),

  // Union field expiration can be only one of the following:
  "expireTime": string,
  "ttl": string
  // End of list of possible types for union field expiration.
}
字段
sessionId

string

必需。服务器生成的不透明字符串,用于编码所有必要信息,以识别 PGS 玩家 / Google 用户和应用。

persona

string

必需。游戏内账号的稳定标识符。请不要为不同游戏重复使用同一角色。

token

string

必需。要创建的令牌的值。对 Play 游戏不透明,并假定不稳定(通过密钥轮替进行加密)。

cardinalityConstraint

enum (RecallTokensCardinalityConstraint)

必需。基数限制,用于在将角色与游戏范围内的玩家相关联时进行观察。

联合字段 expiration。可选的令牌到期时间或存留时间。expiration 只能是下列其中一项:
expireTime

string (Timestamp format)

仅限输入。到期时间(可选)。

时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

ttl

string (Duration format)

仅限输入。存留时间(可选)。

该时长以秒为单位,最多包含九个小数位,以“s”结尾。示例:"3.5s"

响应正文

角色关联尝试的结果。

如果成功,响应正文将包含结构如下的数据:

JSON 表示法
{
  "state": enum (State)
}
字段
state

enum (State)

仅限输出。角色关联尝试的状态。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/androidpublisher

如需了解详情,请参阅 OAuth 2.0 概览

RecallTokensCardinalityConstraint

基数限制,用于在将角色与游戏范围内的玩家相关联时进行观察。

枚举
ONE_PERSONA_TO_ONE_PLAYER

游戏内角色与 Play 游戏服务玩家之间的 1:1 基数。

在关联操作结束时,玩家只能有一个条目,并且角色应保留在应用的作用域内。

指定此限制条件时,是否创建新关联由所选的 ConflictingLinksResolutionPolicy 决定:

  • 如果指定了 KEEP_EXISTING_LINKS 且所提供的角色已与其他玩家相关联,或该玩家已与其他角色相关联,系统将不会创建任何新关联,现有的关联将保持不变。

  • 如果指定了 CREATE_NEW_LINK 且所提供的角色已与其他玩家相关联,或该玩家已与其他角色相关联,则系统会移除旧链接以创建新关联。

ConflictingLinksResolutionPolicy

当角色与玩家关联会导致违反指定基数限制条件时,要应用的解决政策。

枚举

角色关联尝试的状态。

枚举
PERSONA_OR_PLAYER_ALREADY_LINKED 该请求中指定的链接未创建,因为现有链接会导致新链接违反指定的 RecallTokensCardinalityConstraint(如果已创建)。