【问题标题】:A web API key can only be specified when a web API key name is provided仅当提供 Web API 密钥名称时才能指定 Web API 密钥
【发布时间】:2019-12-19 09:40:03
【问题描述】:

我试图从 Power BI 的供应商的 REST API 中获取数据。

在获取数据时,在 Web API 下,它一直抛出这个错误。请参阅随附的屏幕截图。

这是一种 POST 方法,您可以在其中按响应正文中的任何字段进行过滤(但这次我没有传递任何字段)。

我用来获得响应的查询如下。抱歉,我忘记了在哪里找到的。

let

    apiUrl = "my_api_url",

    token="my_api_key",

    options = [Headers=[Authorization="Bearer " & token ]],

    result = Json.Document(Web.Contents(apiUrl , options))

in

    #"result"

【问题讨论】:

    标签: rest api authentication powerbi restful-authentication


    【解决方案1】:

    您需要在请求中包含 ApiKeyName,而不是自己建立授权。

    例如:

    let Source = Web.Contents(apiURL, [ApiKeyName="mauapikey"]),
    

    另见Microsoft Documentation 或someone's blog post

    【讨论】:

      【解决方案2】:

      我最近遇到了类似的问题,但找到了解决方案:

      如果您的授权必须在标题中,那么您的解决方案就差不多完成了。在我的情况下,授权需要在标头中,但使用基本身份验证而不是令牌。我相信如果您对代码执行以下操作,它将起作用

      let
      
          apiUrl = "my_api_url",
      
          token="my_api_key",
      
          options = [Headers=[#"Authorization"="Bearer " & token ]],
      
          result = Json.Document(Web.Contents(apiUrl , options))
      
      in
      
          #"result"
      

      唯一添加的是授权前的'#',然后是用双引号“授权”围绕授权。

      【讨论】:

        猜你喜欢
        • 2019-04-30
        • 2012-08-03
        • 1970-01-01
        • 2018-01-29
        • 2016-09-12
        • 2012-12-16
        • 1970-01-01
        • 2021-03-06
        • 1970-01-01
        相关资源
        最近更新 更多