如何在Excel中指定API密钥名称 - 只有提供了Web API密钥名称才能指定Web API密钥。

7
我有一个标准的MVC API OData启用服务,可以在匿名身份验证下工作。我想将Web API密钥传递给应用程序...当通过代码或Postman添加时,它可以正常工作。
不幸的是,我的用户更喜欢使用Excel,但我找不到任何地方可以输入这些数据...
我已经检查了Fiddler,Excel甚至没有尝试向客户端发送数据,而我陷入了以下错误之一。
在Excel中什么是有效的密钥,并且如何输入它?

enter image description here

enter image description here

1个回答

2
在Excel中打开Power Query Editor,插入以下代码或调整默认代码:在OData.Feed的第三个参数中添加ApiKeyName =“ApiKey”。
let
    Source = OData.Feed("https://localhost/odata", null, [Implementation="2.0", ApiKeyName = "ApiKey"]),
    Table_table = Source{[Name="Table",Signature="table"]}[Data]
in
    Table_table

现在,您可以使用Web API凭据对话框。您的密钥将成为发送到服务器的http查询字符串的一部分:?ApiKey=abcdefg
另请参阅使用Excel Power Query对.Net Odata Web Api进行身份验证

1
你能否扩展一下你的回答,解释一下如果API令牌必须作为标头传递该怎么做?我尝试过[Headers=[ApiKeyName="Authorization"]],但我得到了与OP相同的错误。 - Geoff

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接