Excel 从外部源 odata 提要中提取的数据不起作用

Excel data pull from External Source odata feed does not work

我们有一个 ODATA 提要网站 API,它是我们 Excel 报告的数据源。这个 Odata 提要,当它托管在本地和物理服务器上时,我们能够成功提取。当相同的 odata feed web API 托管在云环境中时,我们将面临连接超时问题。

Unable to Connect
We encountered an error when trying to connect
Details: "OData: Request failed: Unable to connect to the remote server"

当我们在 excel 文件中使用办公室数据连接 (odc) 时,可以访问云中的相同 odata 提要。

<html xmlns:o="urn:schemas-microsoft-com:office:office"
                            xmlns="http://www.w3.org/TR/REC-html40">

                            <head>
                            <meta http-equiv=Content-Type content="text/x-ms-odc; charset=utf-8">
                            <meta name=ProgId content=ODC.TableCollection>
                            <meta name=SourceType content=DATAFEED>
                            <title>OurApplication</title>
                            <xml id=docprops><o:DocumentProperties
                              xmlns:o="urn:schemas-microsoft-com:office:office"
                              xmlns="http://www.w3.org/TR/REC-html40">
                              <o:Name>OurApplication</o:Name>
                             </o:DocumentProperties>
                            </xml><xml id=msodc><odc:OfficeDataConnection
                              xmlns:odc="urn:schemas-microsoft-com:office:odc"
                              xmlns="http://www.w3.org/TR/REC-html40">
                              <odc:Connection odc:Type="DATAFEED">
                               <odc:ConnectionString>
Data Source=&quot;https://OurApplication.com/odata/OurTable&quot;
</odc:ConnectionString>
                               <odc:CommandType>TableCollection</odc:CommandType>
                               <odc:CommandText>&quot;OurTable&quot;</odc:CommandText>
                              </odc:Connection>
                             </odc:OfficeDataConnection>
                            </xml>
                            <style>
                            </style> 
                            </head> 
                            </html>  

但是,当我们尝试使用下面给出的获取外部数据时,它是不可访问的:

我们在 fiddler 中遇到错误。

[Fiddler] The connection to 'OurApplication.com' failed.
Error: TimedOut (0x274c).
System.Net.Sockets.SocketException A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond OurApplicationIPAddress:OurApplicationPortNumber

当我尝试将 M 语言用于 OData 源时,出现如下错误:

= OData.Feed ("OurApplication/odata/OurTable"
    ,null, [Timeout = #duration(0,2,0,0)])

DataSource.Error: OData: Request failed: The remote server returned an error: (502) Bad Gateway. (Fiddler - Connection Failed) Details: DataSourceKind=OData DataSourcePath=http://Ourapplication:portnumber/odata/$metadata Url=http://courapplication/odata/$metadata

请帮助我们解决如何在 excel 中连接到 Powerquery 中的 ODATA 提要。

尝试指定超时参数(例如 2 小时):

= OData.Feed("http://link", null, [Timeout = #duration(0,2,0,0)])

在我们的案例中,基本身份验证不适用于 PaaS(我们使用的是基于云平台的 PaaS 托管)托管的 webAPI。我们使用匿名身份验证创建了另一个端点,并在 excel 连接中使用该端点以使用 OData 获取数据。

注意:在我们的案例中,由于数据不敏感,而且是内部应用程序,我们继续进行匿名身份验证。