将OData Feed导入PowerObivot,其中的Feed受OAuth 2保护

我有一个OData Feed,我想要使用Excel / PowerPivot。 该Feed使用OAuth 2进行保护(Windows Azure Active Directory是auth服务器)。 PowerPivot表导入向导的高级选项卡有一些用户界面,允许您指定OAuth,并允许您input授权令牌(我假设这是一个访问令牌,但我可能是错的):

PowerPivot表导入向导高级选项卡

但是,当我testing连接时,我得到一个错误,告诉我如果我不使用Windows身份validation,我必须input用户名和密码。 这违背了OAuth 2的目标,但作为一个实验,我没有把用户名和密码。这一次,当我testing连接,我得到了一个来自服务器的未经授权(401)错误。

使用fiddler来查看由testing连接发出的请求,我可以看到请求中没有包含授权头,所以很明显,它永远不会工作。 我希望/期望授权标记将被包括在授权标头中的不记名标记中。 这是我的服务要求。

我也尝试在刷新令牌和新鲜的令牌URL,但结果是一样的。 有一个选项来使用客户端的秘密,但我没有尝试过,因为这将是不安全的(我认为OAuth 2只支持保密的客户端,而不是Excel)。

所以,我的问题是:有没有人能够使用这个OAuth选项来导入数据到Excel或PowerPivot? 如果是这样,你怎么做?

更新:我意识到我的服务没有响应正确的WWW-Authenticate头值如下所示:

http://self-issued.info/docs/draft-ietf-oauth-v2-bearer.html#authn-header

所以我改变了服务代码。 现在我看到了正确的WWW-Authenticate响应头(scheme = Bearer,realm = my realm),但没有区别。 我看不到Excel发出的请求有任何变化。

更新:我也尝试使用WW-Authenticate标头(scheme = OAuth)的OAuth 1版本,但仍然没有任何东西。

我在微软注册了这个:

http://connect.microsoft.com/SQLServer/feedback/details/802179/unable-to-import-data-from-odata-feed-protected-by-oauth-2

事实certificate,这是PowerPivot中的一个错误。 微软的决定是他们将用PowerQuery而不是PowerPivot解决这个问题。 目前,PowerQuery与PowerPivot具有相同的限制。