首页 > 解决方案 > 如何在 Excel 中指定 API 密钥名称 - 只有在提供 Web API 密钥名称时才能指定 Web API 密钥

问题描述

我有一个MVC API OData enabled service在匿名身份验证下工作的标准。我想将 Web API 密钥传递给应用程序...通过代码或邮递员添加时效果很好..

不幸的是,我的用户更喜欢使用Excel,我无法在 Excel 中找到任何地方来输入这些数据......

我已经检查过FiddlerExcel甚至没有尝试向客户端发送数据,我陷入了以下错误之一。

Excel 中的有效密钥是什么以及如何输入?

在此处输入图像描述

在此处输入图像描述

标签: asp.net-mvcexcelodatapowerbiodatacontroller

解决方案


在 Excel 中,打开 Power Query 编辑器,插入以下代码,或调整默认代码:添加 ApiKeyName = "ApiKey" 作为 OData.Feed 的 3 参数的一部分。

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

另请参阅针对 .Net Odata Web Api 使用 Excel Power Query 进行身份验证


推荐阅读