使用 GoogleApiClient 进行 REST API 调用

Posted

技术标签:

【中文标题】使用 GoogleApiClient 进行 REST API 调用【英文标题】:Make REST API calls with GoogleApiClient 【发布时间】:2015-03-19 12:45:43 【问题描述】:

我有一个使用 Play Services 的身份验证和游戏 API 的 android 应用。用户登录后,我想做一些操作。我通过他们的 REST API 找到了适当的操作,但在他们的 Android 库中找不到相应的操作。

https://developers.google.com/games/services/web/api/leaderboards/list

我一直在想一些方法来解决这个问题。有没有办法可以使用 GoogleApiClient 变量发出通用 http 请求?有没有办法可以使用我已经拥有的 oauth 令牌发出 REST 请求?

这个应用程序的网络版本已经开发出来了,所以我对 REST API 很熟悉。我希望我可以通过最少的工作移植到 Android。

【问题讨论】:

在通过 GoogleApiClient 进行身份验证后,您是否能够找到一种通用的方法来处理 REST google api 调用?我不想被已经自动生成的客户端代码所束缚 不,我一直无法在 Android 应用中处理 REST 调用。 【参考方案1】:

在这种情况下,有一个对应的 Android API(所有游戏 API 调用(游戏管理 API 除外)都应该有:Leaderboards.loadLeaderboardMetadata(),因此您无需构建任何 REST API 调用。

【讨论】:

是的,似乎确实有针对这种情况的 Android 特定 API。随着我继续添加功能,我认为代码库将继续多样化。如果我想构建 REST API 调用,有什么好的方法吗?【参考方案2】:

已经存在一个 Java REST api 库。

我在为 Java/Desktop、Android 和 ios(通过 RoboVM)编译的几个应用程序中使用它。

https://developers.google.com/api-client-library/java/

【讨论】:

以上是关于使用 GoogleApiClient 进行 REST API 调用的主要内容,如果未能解决你的问题,请参考以下文章

为啥使用 GoogleAPIClient 请求位置更新?

使用 GoogleApiClient 静默登录以检索令牌

如何将 GoogleApiClient 位置服务与 Google Api 一起使用?

无法解析符号 GoogleApiClient

Android使用GoogleApiClient获取用户位置纬度和经度[重复]

使用 GoogleApiClient 的位置后台服务