【发布时间】:2016-03-20 08:42:18
【问题描述】:
我正在使用 Google API 来获取用户的日历活动和联系人。
在获取联系人时,我通过以下方式获得响应:-
[
{
'phones': [],
'image_path': '',
'id': 'ID',
'emails': ['email1'],
'name': ABC
},
{
'phones': [],
'image_path': '',
'id': 'ID',
'emails': ['email2'],
'name': DEF
}
]
在获取事件时,我得到以下响应:-
[
{
'attendees': [{
'organizer': True,
'displayName': 'ABC',
'id': 'Google+ Id',
'responseStatus': 'accepted'
}, {
'self': True,
'displayName': 'DEF',
'id': 'Google+ id',
'responseStatus': 'accepted'
}],
'organizer': {
'displayName': 'ABC',
'id': 'Google+ id'
},
'creator': {
'displayName': 'ABC',
'id': 'Google+ id'
},
},
{
'organizer': {
'self': True,
'displayName': 'DEF',
'email': 'email2'
},
'creator': {
'self': True,
'displayName': 'DEF',
'email': 'email2'
},
}
]
如您所见,在获取事件时,(在与会者、组织者、创建者中)我在某些情况下会获得 Google+ id,在其他情况下会获得 email_ids。这不会在我的代码中保持一致性。
因为我也获取了用户联系人,所以我通过他们的 email_ids 搜索联系人。如果我没有在与会者、组织者或创建者中获得 email_id,我将无法引用联系人对象。
如何确保我只获得与会者的 email_id,而不是 Google+ id。
【问题讨论】:
-
我可以使用Events.get 方法获得电子邮件地址。因为,我不确定请求的具体外观。如果您仅使用 displayName 和电子邮件设置字段参数。你应该能够得到你所需要的。希望对您有所帮助。
-
感谢您的回复。每当我尝试添加任何
fields时,它都会显示Invalid field selection creator。它为任何类型的字段返回相同的错误。 -
唯一缺少 id 字段的用户是
self字段标记为True...有帮助吗? -
不,因为我没有收到某些活动参与者的电子邮件 ID
标签: google-api google-calendar-api google-contacts-api