当您在 Google 收件箱中暂停消息并选择“选择地点”时,它会显示一个列表,其中包含您的家庭和工作地址(来自 Google Now)以及您的 Google map 个人资料中的星标位置。 Keep 等其他 Google 应用也提供类似的功能。
我想在我的应用中实现此功能,但找不到公开该信息的正确 API。这是 Google 不会向第三方公开的东西吗(我想那里有滥用的空间)?
如果没有,如何实现?什么 API 有数据?
最佳答案
除非您特别设置,否则 Google 即时会利用您的位置数据分析(在登录到您的 Google 帐户设置中启用的 Google+ 位置服务的所有设备上)来确定您的家庭和工作地点。
我在 Google 官方文档中找到的任何地方都没有明确引用此数据的存储/检索,但 Google Now 中用于此数据的架构可在此处获得: Google Schema - Person
对于任何给定的人员实体,homeLocation
和 workLocation
属性与该数据一起存在。
另外(或除此之外),使用 Google 的 Plus 平台/Google 身份平台,如果您有一个经过身份验证的用户,您可以按照描述进行 API 调用 here (with examples) 获取当前用户的任何指定字段(包括 currentLocation、带有地址的组织(包括工作),如果用户提供的话)。
存在使用 oAuth 和原始谷歌地图提要 URL 来提取数据的先前 SO 问题,但接受的答案有些不清楚,当我点击链接并尝试通过身份验证对其进行测试时,我收到了来自所有人的 404 错误其中:Access locations in My Places of a particular account through Google Maps API
与 Google 产品论坛中的帖子一样 here 几年前,以前版本的 Google Maps Data API 允许访问 My Places,这正是您所需要的,但在 2013 年被弃用并被删除。
最后,我认为这是最好的方法,并且可能是 Google 使用的(如果它没有被声明为 Google Now),即 Google Contacts API。用户存在于他们自己的联系人列表中,Google 联系人的广泛 API 允许您获取/设置带有标准标签的地址,例如用户的家庭或工作。
关于android - 像 Google Inbox 一样获取用户的家庭、工作地点和加星标的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32429292/