适用于Android的Google API 的在线reference,显示游戏类的公开方法摘要,其中包括:
static PendingResult<Games.GetTokenResult> getGamesAuthToken(GoogleApiClient apiClient)
但最新版本(8.4.0)不包括此方法。我用它来获取API:
dependencies {
compile 'com.google.android.gms:play-services:8.4.0'
}
Games.getGamesAuthToken在哪里?
答案 0 :(得分:2)
这实际上是一个文档问题。 getGamesAuthToken()已被删除,因为它不像它需要的那样安全。
供参考,您可以阅读http://android-developers.blogspot.com/2016/01/play-games-permissions-are-changing-in.html
处理此问题的最佳方法是:
在设备上验证播放器后:
GetServerAuthCodeResult result =
Games.getGamesServerAuthCode(gac, clientId).await();
if (result.isSuccess()) {
String authCode = result.getCode();
// Send code to server.
}
在服务器上,交换为令牌收到的身份验证码
将RPC发送到https://www.googleapis.com/oauth2/v4/token
以交换访问令牌的身份验证代码。
您必须提供服务器客户端ID,服务器客户端密钥(在创建服务器客户端ID时在Developer Console中列出)和身份验证代码。
在此处查看更多详细信息:https://developers.google.com/identity/protocols/OAuth2WebServer?utm_campaign=play games_discussion_permissions_012316&utm_source=anddev&utm_medium=blog#handlingresponse。
获得访问令牌后,将使用以下内容检索播放器的ID:
www.googleapis.com/games/v1/applications/<app_id>/verify/
使用访问令牌。
在标头中传递身份验证令牌,如下所示:
“授权:OAuth”
响应值将包含用户的玩家ID。这是用于此用户的正确玩家ID。 此访问令牌可用于根据需要进行其他服务器到服务器调用。