【问题标题】:Unable to retrieve list of products from Azure API Management through REST API无法通过 REST API 从 Azure API 管理中检索产品列表
【发布时间】:2017-11-26 01:18:58
【问题描述】:

我无法根据传入的“apiId”从 REST API 检索 APIM 产品列表。我尝试使用下面屏幕截图中的 IDENTIFIER 值:

但是,我收到以下错误:

Invoke-RestMethod : {"error":{"code":"ResourceNotFound","message":"Api not found.","details":null}} 在 D:\powershell scripts\testing\test_add_api2.ps1:77 char:5 + Invoke-RestMethod -Method Get -Uri $url -Header @{ "授权 ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-Rest 方法],WebException + FullyQualifiedErrorId:WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMet hodCommand

我正在使用以下路径来检索产品列表:

https://{base url}/apis/{apiId}?api-version=2016-10-10

我还验证了访问令牌的有效期为 5 天。

首先,我是否为“apiId”使用了正确的 ID?其次,如果我使用了正确的 apiId,最近路径是否发生了变化?

【问题讨论】:

    标签: rest powershell azure azure-api-management


    【解决方案1】:

    在与 Microsoft 支持人员交谈后,我发现了问题所在。事实证明,“参考”部分下的标题中有两个不同的文档,其中包含“产品”:(1)Api 产品和(2)产品

    我错误地遵循了 #1 下的文档。 #2 是您为了获取产品列表而要遵循的文档。根据该文档,路径如下所示:

    GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products?api-version=2016-10-10[&$filter&$top&$skip&expandGroups]
    

    https://docs.microsoft.com/en-us/rest/api/apimanagement/products

    我确认这行得通。所以简而言之,对产品使用文档#2,而不是#1。不确定#1 的用途,但 #2 有效。

    【讨论】:

    • #1 用于丢失API所属的产品。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多