【问题标题】:Getting Google+ Friends Android (HTTP Request)获取 Android 版 Google+ 好友(HTTP 请求)
【发布时间】:2015-03-04 15:32:10
【问题描述】:

我正在开发一个用户可以使用 Google+ 登录的应用。我添加了 Google+ 登录按钮,用户可以毫无问题地登录。

我遇到麻烦的地方是检索圈子中的朋友/人。此功能不在 Android API 中,因此我尝试通过 HTTP 请求来实现此功能(如文档中的here

我在开发者控制台中使用公共 API 访问 Android 密钥设置了我的应用程序。

当我使用带有此 URL 的 HttpGet 时:

https://www.googleapis.com/plus/v1/people/{用户的 g+ id}/people/visible?key={我来自控制台的 API 密钥}

我收到带有“错误请求”消息的“keyInvalid”错误。

如果我在不使用“?key={my key}”的情况下尝试它,我会收到“dailyLimitExceedingUnreg”错误消息“已超过未经验证使用的每日限制。继续使用需要注册。”

你知道为什么我的请求不起作用吗?我该怎么做才能让它工作?

【问题讨论】:

    标签: android google-plus


    【解决方案1】:

    好的,事实证明我不需要使用 HTTP get。感谢您的回复。

    这段代码成功了:

    Plus.PeopleApi.loadVisible(mGoogleApiClient,null).setResultCallback(new ResultCallback<People.LoadPeopleResult>() {
            @Override
            public void onResult(People.LoadPeopleResult loadPeopleResult) {
                if (loadPeopleResult.getStatus().getStatusCode() == CommonStatusCodes.SUCCESS) {
                    PersonBuffer personBuffer = loadPeopleResult.getPersonBuffer();
                    try {
                        int count = personBuffer.getCount();
                        for (int i = 0; i < count; i++) {
                            Log.d(TAG, "Person " + i + " name: " + personBuffer.get(i).getDisplayName()+ " - id: " + personBuffer.get(i).getId());
                        }
                    } finally {
                        personBuffer.close();
                    }
    
    
                } else {
                    Log.e(TAG, "Error");
                }
            }
        });
    

    【讨论】:

      【解决方案2】:

      您需要登录http://console.developers.google.com 并获取 API 密钥,而不是 ?key= 您应该使用 ?key=RANDOMCHARACTERS 替换 RANDOMCHARACTERS 来代替密钥您从 Google 获得的。

      如果你还没有创建项目,首先你需要在那个网站上创建一个,然后你应该看到可用 API 列表,搜索 Google+ API 并启用它来获取相应的密钥。

      【讨论】:

      • 谢谢,但我已经这样做了。抱歉,我没有很好地解释这个问题,但这就是我正在做的事情。我有一个 API 密钥,我正在按照你所说的传递它。没有骰子。
      【解决方案3】:

      People.list 是一种 API 方法,需要用户身份验证而不是应用程序身份验证。基本上,您可以提出请求的唯一方法是这样的:

      GET https://www.googleapis.com/plus/v1/people/me/people/visible?access_token={user access_token}
      

      【讨论】:

      • 这就解释了,谢谢!我确实找到了一个无需 http 请求即可完美运行的答案(请参阅我的答案)。
      猜你喜欢
      • 2012-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-04
      • 1970-01-01
      • 2016-10-16
      相关资源
      最近更新 更多