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

Geolocation - Get IP To Location

适用于: 查看定价

此服务将返回提供的 IP 地址的 ISO 国家/地区代码。 开发人员可以使用此信息根据从中查看应用程序的地理位置阻止或更改某些内容。

GET https://atlas.microsoft.com/geolocation/ip/json?api-version=1.0&ip={ip}

URI 参数

Name In Required Type Description
format
path True

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

api-version
query True
  • string

Azure Maps API 的版本号。

ip
query True
  • string

IP 地址。 允许 IPv4 和 IPv6。

请求头

Name Required Type Description
x-ms-client-id
  • string

指定哪个帐户与 Azure AD 安全模型结合使用。 它表示Azure Maps帐户的唯一 ID,可以从Azure Maps管理平面帐户 API 中检索。 若要在Azure Maps中使用 Azure AD 安全性,请参阅以下文章以获取指导。

响应

Name Type Description
200 OK

OK

Other Status Codes

发生了意外错误。

安全性

AADToken

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

若要实现方案,建议查看 身份验证概念。 总之,此安全定义提供了一种解决方案,用于通过能够对特定 API 和范围进行访问控制的对象对应用程序 () 建模。

说明

  • 此安全定义需要使用x-ms-client-id标头来指示应用程序请求访问的资源Azure Maps。 这可以从 地图管理 API 获取。

特定于 Authorization URL Azure 公有云实例。 主权云具有唯一的授权 URL 和 Azure Active Directory 配置。 * Azure 基于角色的访问控制是通过 Azure 门户、PowerShell、CLI、Azure SDK 或 REST API 从 Azure 管理平面配置的。 * Azure Maps Web SDK 的使用允许针对多个用例配置应用程序的基于配置的设置。

  • 目前,Azure Active Directory v1.0 或 v2.0 支持工作、学校和来宾,但不支持个人帐户。

Type: oauth2
Flow: implicit
Authorization URL: https://login.microsoftonline.com/common/oauth2/authorize

Scopes

Name Description
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,以便安全地存储密钥。

Type: apiKey
In: query

SAS Token

这是通过 azure 管理平面通过 Azure 门户、PowerShell、CLI、Azure SDK 或 REST API 从Azure Maps资源上的列表 SAS 操作创建的共享访问签名令牌。

使用此令牌,任何应用程序都有权使用 Azure 基于角色的访问控制进行访问,并精细控制特定令牌的过期、速率和区域 () 。 换句话说,SAS 令牌可用于允许应用程序以比共享密钥更安全的方式控制访问。

对于公开的应用程序,建议在 地图帐户资源 上配置允许的源的特定列表,以限制呈现滥用,并定期续订 SAS 令牌。

Type: apiKey
In: header

示例

Successfully retrieve country code from IP address

Sample Request

GET https://atlas.microsoft.com/geolocation/ip/json?api-version=1.0&ip=2001:4898:80e8:b::189

Sample Response

{
  "countryRegion": {
    "isoCode": "US"
  },
  "ipAddress": "2001:4898:80e8:b::189"
}

定义

CountryRegion

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

ErrorAdditionalInfo

资源管理错误附加信息。

ErrorDetail

错误详细信息。

ErrorResponse

错误响应

IpAddressToLocationResult

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

JsonFormat

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

CountryRegion

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

Name Type Description
isoCode
  • string

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

ErrorAdditionalInfo

资源管理错误附加信息。

Name Type Description
info
  • object

其他信息。

type
  • string

其他信息类型。

ErrorDetail

错误详细信息。

Name Type Description
additionalInfo

错误附加信息。

code
  • string

错误代码。

details

错误详细信息。

message
  • string

错误消息。

target
  • string

错误目标。

ErrorResponse

错误响应

Name Type Description
error

错误对象。

IpAddressToLocationResult

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

Name Type Description
countryRegion

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

ipAddress
  • string

请求的 IP 地址。

JsonFormat

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

Name Type Description
json
  • string

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