我正在使用谷歌aouth,在范围内遵循
scope : ['https://www.googleapis.com/auth/tasks', 'https://www.googleapis.com/auth/tasks.readonly', 'https://www.googleapis.com/auth/userinfo.profile', 'https://www.googleapis.com/auth/plus.me', 'https://www.googleapis.com/auth/plus.circles.read']
我试图获取有关用户的信息,我使用了以下API
var xhr = Ti.Network.createHTTPClient({
onload : function() {
var data = this.responseText;
var json = JSON.parse(data);
Ti.API.log('json: ' + JSON.stringify(json));
}
});
xhr.open("GET", "https://www.googleapis.com/oauth2/v1/userinfo?alt=json&access_token=" + googleAuth.getAccessToken());
xhr.send();
但它只提供了用户基本信息,如何获取圈子里用户好友的信息。
我把xhr.open("GET", "https://www.googleapis.com/oauth2/v1/userinfo?alt=json&access_token=" + googleAuth.getAccessToken());
换成了
xhr.open("GET", "https://www.googleapis.com/plusDomains/v1/people/me/circles?access_token=" + googleAuth.getAccessToken());
控制台中的响应文本类似于
json: {"error":{"errors":[{"domain":"global","reason":"forbidden","message":"Forbidden"}],"code":403,"message":"Forbidden"}}
我已启用
- 谷歌+ API,
- 博主API,
- Google+ Pages API,
- Google+ Domains API,
API 最接近这一点的是 People.list
https://www.googleapis.com/plus/v1/people/me/people/connected?key={YOUR_API_KEY}
尝试测试集合,看看哪一个更适合您的需求。 您可以在页面底部测试结果。 没有办法找回圈子的名字。
可接受的值为:
"connected":经过身份验证的用户中的可见人员列表 也使用请求应用的圈子。此列表仅限于用户 谁将其应用活动设置为对经过身份验证的用户可见。
"可见":此用户已添加到一个或多个用户的人员列表 圆圈,仅限于请求应用程序可见的圆圈。
自 2018 年 8 月起,Google+ API 端点https://www.googleapis.com/plus/v1/people/userId/people/collection
已弃用。
有一个用于获取所有联系人的新端点:https://people.googleapis.com/v1/people/me/connections
。响应中有一个metadata
键,对于Google+联系人,它看起来有点像这样:
"metadata": {
"sources": [
{
"updateTime": "2013-01-13T19:16:50.668Z",
"etag": "...",
"type": "CONTACT",
"id": "..."
},
{
"etag": "...",
"type": "PROFILE",
"id": "...",
"profileMetadata": {
"userTypes": [
"GOOGLE_USER",
"GPLUS_USER"
],
"objectType": "PERSON"
}
}
],
"objectType": "PERSON"
}
请注意"GPLUS_USER"
部分。