你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

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

JsonFormat

响应的所需格式。 仅支持 json 格式。

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

IpAddressToLocationResult

请求成功。 资源已被获取并包含在消息正文中。

Other Status Codes

ErrorResponse

发生意外错误。

安全性

AADToken

这些 Microsoft Entra OAuth 2.0 流。 与 Azure 基于角色的访问配对时, 控制它可用于控制对 Azure Maps REST API 的访问。 Azure 基于角色的访问控制用于指定对一个或多个 Azure Maps 资源帐户或子资源的访问。 任何用户、组或服务主体都可以通过内置角色或由一个或多个对 Azure Maps REST API 的权限组成的自定义角色授予访问权限。

若要实现方案,建议查看 身份验证概念。 总之,此安全定义提供了一种解决方案,用于通过能够针对特定 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 允许为多个用例设置基于应用程序的配置。

类型: 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 资源 上的列表 SAS 操作创建。

使用此令牌,任何应用程序都有权使用 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"
}

定义

名称 说明
CountryRegion

包含国家/地区信息的对象。

ErrorAdditionalInfo

资源管理错误附加信息。

ErrorDetail

错误详细信息。

ErrorResponse

错误响应

IpAddressToLocationResult

从成功调用 IP 地址到国家/地区 API 返回此对象

JsonFormat

响应的所需格式。 仅支持 json 格式。

CountryRegion

包含国家/地区信息的对象。

名称 类型 说明
isoCode

string

IP 地址的 2 个字符的国家或地区代码 (ISO 3166-1)。 请注意,为特殊用途保留的范围内的 IP 地址将返回国家/地区的 Null。

ErrorAdditionalInfo

资源管理错误附加信息。

名称 类型 说明
info

object

其他信息。

type

string

其他信息类型。

ErrorDetail

错误详细信息。

名称 类型 说明
additionalInfo

ErrorAdditionalInfo[]

错误附加信息。

code

string

错误代码。

details

ErrorDetail[]

错误详细信息。

message

string

错误消息。

target

string

错误目标。

ErrorResponse

错误响应

名称 类型 说明
error

ErrorDetail

错误对象。

IpAddressToLocationResult

从成功调用 IP 地址到国家/地区 API 返回此对象

名称 类型 说明
countryRegion

CountryRegion

包含国家/地区信息的对象。

ipAddress

string

请求的 IP 地址。

JsonFormat

响应的所需格式。 仅支持 json 格式。

说明
json

JavaScript 对象表示法数据交换格式