有没有办法使用 Google 的 API 检索用户当前的邮政编码,而无需明确征求用户的许可?据我了解,Google 现在使用 OAuth 2.0,这是一种身份验证协议(protocol),用户必须授予特定服务的权限。但是,我希望无需询问用户即可找到他们的位置!
这可能吗?我对翻译 IP 地址不感兴趣,因为它们通常会返回错误的结果。同样,HTML5 的地理定位功能也无法使用,因为它也需要用户许可。
最佳答案
您肯定必须使用 Google(或 Facebook ...或[在此处插入社交网络])对用户进行 oAuth,才能访问存储在该用户的任何信息(例如家庭或工作“邮政编码”)第三方网站。但一旦通过身份验证,您将无法获得用户的当前邮政编码或位置。您想要他们当前的位置、家庭住址还是工作地址 - 您可能需要澄清。无论如何,如果您想要用户的当前位置,我建议使用 HTML5 地理定位 API。
地理定位 API 的最简单用法如下所示:
function get_location() {
navigator.geolocation.getCurrentPosition(show_map);
}
没有检测,没有错误处理,也没有选项。您的 Web 应用程序可能应该至少包含其中的前两个。要检测对地理定位 API 的支持,您可以使用 Modernizr :
function get_location() {
if (Modernizr.geolocation) {
navigator.geolocation.getCurrentPosition(show_map);
} else {
// no native support; maybe try Gears?
}
}
HTML5 地理定位资源:
关于php - 从 Google 获取当前位置,无需将用户送走进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11351933/