获取 Google+ 个朋友 Android(HTTP 请求)

Getting Google+ Friends Android (HTTP Request)

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

我遇到问题的地方在于检索朋友/圈子中的人。此功能不在 Android API 中,因此我尝试通过 HTTP 请求实现此功能(如记录 here

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

当我使用 HttpGet 时 URL:

https://www.googleapis.com/plus/v1/people/{the user's g+ id}/people/visible?key={my API key from the console}

我收到 "keyInvalid" 错误消息 "Bad Request"。

如果我在没有“?key={my key}”的情况下尝试,我会收到 "dailyLimitExceedingUnreg" 错误消息 "Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup."

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

您需要登录 http://console.developers.google.com 并获取 API 密钥,而不是 ?key= 您应该输入 ?key=RANDOMCHARACTERS 将 RANDOMCHARACTERS 替换为您从 Google.

获得的密钥

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

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

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

好吧,原来我不需要使用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");
            }
        }
    });