咨询Google.GData.Contacts 2.2.0的已登录用户信息API地址
我来帮你搞定这个问题!你用的是旧版的Google Contacts GData API(Google.GData.Contacts 2.2.0),结合你给出的权限范围(https://www.google.com/m8/feeds/),有两个方向的URL可以获取已登录用户的信息,具体看你需要的信息类型:
1. 获取用户基础身份信息(通用OAuth2端点)
如果你只需要用户的基础信息(比如姓名、邮箱、头像等),可以使用Google OAuth2的通用UserInfo端点——只要你持有有效的access_token(且已授权Contacts的权限范围)就能调用:
https://www.googleapis.com/oauth2/v1/userinfo?access_token=YOUR_ACCESS_TOKEN
返回的是JSON格式的基础用户数据,和其他Google API的用户信息格式一致。
2. 获取Contacts相关的用户个人资料(GData原生端点)
如果你需要的是和Google Contacts绑定的用户个人资料(比如用户在Contacts中设置的自己的联系人条目),可以使用Contacts GData API的原生端点:
https://www.google.com/m8/feeds/profiles/default/full?access_token=YOUR_ACCESS_TOKEN
这个端点返回的是符合GData XML格式的用户资料,和你使用的Google.GData.Contacts库的解析格式完全兼容。
补充说明
对比你提到的Gmail API例子,Contacts GData API作为旧版协议,没有像Gmail那样的/users/me/profile风格的REST端点,但上面两个URL都能满足你获取已登录用户信息的需求。如果你的适配器需要统一的用户信息格式,优先推荐通用OAuth2的UserInfo端点;如果需要和Contacts API的其他操作格式保持一致,就用GData的Profiles端点。
内容的提问来源于stack exchange,提问作者Svetoslav Georgiev

