如何使用谷歌api通过IP地址获取国家名称

时间:2017-04-19 07:35:16

标签: php google-api

我已经拥有谷歌API密码,想知道是否有可能获得用户的国家名称(不是共享位置)而没有谷歌Api的任何帐户

我认为可以从用户IP地址开始,但不知道如何

4 个答案:

答案 0 :(得分:2)

使用apinotes外部geolocation api

示例:https://apinotes.com/ipaddress/ip.php?ip=27.62.184.235

location = / { access_log off; }

通过IP地址中的IP地址获取国家/地区详细信息的示例

URL:  https://apinotes.com/ipaddress/ip.php
Parameter Name: ip
Value:  27.62.184.23 (ipv4 address)


输出:

<?php
$ip = '27.62.184.235';
$json_data = file_get_contents("https://apinotes.com/ipaddress/ip.php?ip=$ip");
$ip_data = json_decode($json_data, TRUE);
if ($ip_data['status'] == 'success') {
    ?>
    <p>Ip Address: <?php echo $ip_data['ip'] ?></p>
    <p>Country Name: <?php echo $ip_data['country_name'] ?></p>
    <p>Country Code: <?php echo $ip_data['country_code'] ?></p>
    <p>Country Code (3 digit): <?php echo $ip_data['country_code3'] ?></p>
    <p>Region Code: <?php echo $ip_data['region_code'] ?></p>
    <p>Region Name: <?php echo $ip_data['region_name'] ?></p>
    <p>City Name: <?php echo $ip_data['city_name'] ?></p>
    <p>Latitude: <?php echo $ip_data['latitude'] ?></p>
    <p>Longitude: <?php echo $ip_data['longitude'] ?></p>
<?php }
?>

答案 1 :(得分:0)

API密钥用于公共数据。因此,有问题的用户需要将其设置为公开。

Google+ api是一个公共API,允许search of people,因此,如果相关用户拥有Google +帐户并且他们已将其位置设置为公开,您可能会看到它。

这是我所知道的唯一包含有关用户的公共信息的API。

私人数据选项

如果此用户位于您的Google联系人中或收集给您,那么您可以访问Google People API,但这也需要您填写数据。

地理位置IP选项

有几个与谷歌无关的API支持IP地址http://www.hostip.info/use.html的地理位置查找注意:它们可能很慢

答案 2 :(得分:0)

你可以这样试试, 不需要Google Api

点击此处:https://freegeoip.net

QPlainTextEdit
{
border-color:transparent;
border: 0px;
color: white;
font: 10pt "Webdings";
font.pointSize: 113;
}

希望这会有所帮助。

答案 3 :(得分:0)

http://php.net/manual/en/function.geoip-country-name-by-name.php

请尝试以上参考手册将获得解决方案。