获取 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");
}
}
});
我正在开发一个用户可以使用 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");
}
}
});