Excel 的三足 OAuth2 授权代码流?

3-Legged OAuth2 Authorization code flow for Excel?

这可能是一个远景,但我正在使用 MYOB 业务 API,它具有与 LinkedIn API 相同的 OAuth 授权流程 - 三足 - 我正在计划制作通过 Excel 查询它,很可能是电源查询。

这里的大问题显然是处理 code=access_tokenrefresh_token 的发送和接收。我所做的大多数与使用 Power Query 和 OAuth 相关的搜索似乎只处理用户名和密码 OAuth 而不是授权流程,如此处所示 https://developer.indeed.com/docs/authorization/3-legged-oauth.

我很好奇是否有我没有遇到过的 Power Query M 语言代码,或者我是否必须在 API以便在Excel?

中查询

如有任何帮助或进一步指导,我们将不胜感激。

我还应该注意到他们有一个网站,其中包含使用不同语言的 Postman 系列; https://accountrightapi.myob.cloud/?version=latest#f2b93dfa-803f-44b9-8a07-756874494227

Excel 的简短回答是:不,但是 Asterisk。

  • Excel Power Query 不支持 custom connectors(截至 2022-02-07
  • 安全地使用Auth2 flow,需要custom connector
  • 有一些内置支持,如果连接器支持的话。 (如 Web 或 OData)

这是 Chris Web 的摘要版本。 (他是 Power Query 向导)Connecting To REST APIs With OAuth2 Authentication In Power Query/Power BI @ blog.crossjoin.co.uk

the definitive, Microsoft-endorsed answer to this question is: If want to connect from Power BI to a REST API that uses OAuth2 authentication then you need to build a custom connector.

You can use OAuth2 credential flow in regular Power Query queries without needing a custom connector.

this is not recommended: it’s not secure and it’s not reliable. In particular, hard-coding usernames/passwords or client ids/client secrets in your M code is a really bad idea

The only exception is that you can connect to some APIs that use AAD authentication using the built-in web or OData connectors