如何添加personFields面具?
我的代码和错误在
我的完整代码here!
I/onResponse: {
"error": {
"code": 400,
"message": "personFields mask is required. Please specify one or more valid paths. Valid paths are documented at https:\/\/developers.google.com\/people\/api\/rest\/v1\/people\/get.", "status": "INVALID_ARGUMENT"
}
}
答案 0 :(得分:1)
试试这个
ListConnectionsResponse connectionsResponse = service
.people()
.connections()
.list("people/me")
.set("personFields","names,addresses,birthdays,genders,phoneNumbers,photos")
.execute();
答案 1 :(得分:0)
Google People API的回复中已经提到了您的问题的解决方案。
<强> personFields 强> 字符串(FieldMask格式)
必需。用于限制返回此人的字段的字段掩码。有效值为:
因此,只需使用密钥&#39; personFields&#39;向RequestBody添加另一个参数。和前一个有效值的值。 https://developers.google.com/people/api/rest/v1/people/get
答案 2 :(得分:0)
好的,我做了一些研究,我发现了一种通过post url传递personFields的方法。我可以获取名称性别和电子邮件地址,但即使在授权访问后我也无法获取电子邮件 有谁知道为什么?
OkHttpClient client2 = new OkHttpClient();
final Request request2 = new Request.Builder()
.url("https://people.googleapis.com/v1/people/me?personFields=names,genders,emailAddresses,phoneNumbers")
.addHeader("Authorization", "Bearer " + accessToken)
.build();