Geolocation - Get IP To Location
用于获取给定 IP 地址的 ISO 国家/地区代码。
Get IP To Location API 是一个 HTTP GET 请求,用于返回给定 IP 地址的 ISO 国家/地区代码。 开发人员可以使用此信息根据访问应用程序的地理位置阻止或修改内容。
GET https://atlas.microsoft.com/geolocation/ip/json?api-version=1.0&ip={ip}
URI 参数
| 名称 | 在 | 必需 | 类型 | 说明 |
|---|---|---|---|---|
|
format
|
path | True |
响应的所需格式。 仅支持 |
|
|
api-version
|
query | True |
string |
Azure Maps API 的版本号。 |
|
ip
|
query | True |
string |
IP 地址。 允许 IPv4 和 IPv6。 |
请求头
| 名称 | 必需 | 类型 | 说明 |
|---|---|---|---|
| x-ms-client-id |
string |
指示用于 Microsoft Entra ID 安全模型的帐户。 可以从 Azure Maps 管理平面帐户 API 获取 Azure Maps 帐户的唯一 ID。 有关在 Azure Maps 中使用 Microsoft Entra ID 安全性的详细信息,请参阅 在 Azure Maps 中管理身份验证。 |
响应
| 名称 | 类型 | 说明 |
|---|---|---|
| 200 OK |
请求成功。 资源已被获取并包含在消息正文中。 |
|
| Other Status Codes |
发生意外错误。 |
安全性
AADToken
这些 Microsoft Entra OAuth 2.0 流。 与 Azure 基于角色的访问配对时, 控制它可用于控制对 Azure Maps REST API 的访问。 Azure 基于角色的访问控制用于指定对一个或多个 Azure Maps 资源帐户或子资源的访问。 任何用户、组或服务主体都可以通过内置角色或由一个或多个对 Azure Maps REST API 的权限组成的自定义角色授予访问权限。
若要实现方案,建议查看
注释
- 此安全定义 要求 使用
x-ms-client-id标头来指示应用程序请求访问的 Azure Maps 资源。 这可以从 地图管理 API获取。
Authorization URL 特定于 Azure 公有云实例。 主权云具有唯一的授权 URL,Microsoft Entra ID 配置。
* Azure 基于角色的访问控制是通过 Azure 门户、PowerShell、CLI、Azure SDK 或 REST API 从 Azure 管理平面 配置的。
* 使用 azure Maps Web SDK 允许为多个用例设置基于应用程序的配置。
- 有关Microsoft标识平台的详细信息,请参阅 Microsoft标识平台概述。
类型:
oauth2
流向:
implicit
授权 URL:
https://login.microsoftonline.com/common/oauth2/authorize
作用域
| 名称 | 说明 |
|---|---|
| https://atlas.microsoft.com/.default | https://atlas.microsoft.com/.default |
subscription-key
这是在 Azure 门户中或使用 PowerShell、CLI、Azure SDK 或 REST API 创建 Azure Maps 帐户 时预配的共享密钥。
使用此密钥,任何应用程序都可以访问所有 REST API。 换句话说,此密钥可用作颁发密钥的帐户中的主密钥。
对于公开的应用程序,我们建议使用 机密客户端应用程序 方法来访问 Azure Maps REST API,以便安全地存储密钥。
类型:
apiKey
在:
query
SAS Token
这是一个共享访问签名令牌,它通过 Azure 门户、PowerShell、CLI、Azure SDK 或 REST API 通过 Azure 管理平面在 azure Maps 资源
使用此令牌,任何应用程序都有权使用 Azure 基于角色的访问控制进行访问,并精细控制特定令牌的过期、速率和区域。 换句话说,SAS 令牌可用于允许应用程序以比共享密钥更安全的方式控制访问。
对于公开的应用程序,建议在 映射帐户资源 上配置允许的源的特定列表,以限制呈现滥用并定期续订 SAS 令牌。
类型:
apiKey
在:
header
示例
Successfully retrieve country/region code from IP address
示例请求
GET https://atlas.microsoft.com/geolocation/ip/json?api-version=1.0&ip=2001:4898:80e8:b::189
示例响应
{
"countryRegion": {
"isoCode": "US"
},
"ipAddress": "2001:4898:80e8:b::189"
}
定义
| 名称 | 说明 |
|---|---|
|
Country |
包含国家/地区信息的对象。 |
|
Error |
资源管理错误附加信息。 |
|
Error |
错误详细信息。 |
|
Error |
错误响应 |
|
Ip |
从成功调用 IP 地址到国家/地区 API 返回此对象 |
|
Json |
响应的所需格式。 仅支持 |
CountryRegion
包含国家/地区信息的对象。
| 名称 | 类型 | 说明 |
|---|---|---|
| isoCode |
string |
IP 地址的 2 个字符的国家或地区代码 (ISO 3166-1)。 请注意,为特殊用途保留的范围内的 IP 地址将返回国家/地区的 Null。 |
ErrorAdditionalInfo
资源管理错误附加信息。
| 名称 | 类型 | 说明 |
|---|---|---|
| info |
object |
其他信息。 |
| type |
string |
其他信息类型。 |
ErrorDetail
错误详细信息。
| 名称 | 类型 | 说明 |
|---|---|---|
| additionalInfo |
错误附加信息。 |
|
| code |
string |
错误代码。 |
| details |
错误详细信息。 |
|
| message |
string |
错误消息。 |
| target |
string |
错误目标。 |
ErrorResponse
错误响应
| 名称 | 类型 | 说明 |
|---|---|---|
| error |
错误对象。 |
IpAddressToLocationResult
从成功调用 IP 地址到国家/地区 API 返回此对象
| 名称 | 类型 | 说明 |
|---|---|---|
| countryRegion |
包含国家/地区信息的对象。 |
|
| ipAddress |
string |
请求的 IP 地址。 |
JsonFormat
响应的所需格式。 仅支持 json 格式。
| 值 | 说明 |
|---|---|
| json |