这可能是一个很长的机会,但我正在使用MYOB业务API,它与LinkedIn API具有相同的OAuth授权流-三条腿-并计划通过Excel对其进行查询,最有可能是功率查询。
很明显,这方面的大问题是如何处理code=
、access_token
和refresh_token
的发送和接收。我所做的大多数与使用Power Query和OAuth相关的搜索似乎只处理用户名和密码OAuth,而不是授权流,如https://developer.indeed.com/docs/authorization/3-legged-oauth所示。
我很好奇是否有我没有遇到过的Power Query M语言代码,或者我是否必须在API之上构建一个OData Feed(或另一个方法?),以便在Excel中查询?
任何帮助或进一步的指示将不胜感激。
我还应该指出,他们有一个网站包含他们的 Postman 收集使用不同的语言在这里; https://accountrightapi.myob.cloud/?version=latest#f2b93dfa-803f-44b9-8a07-756874494227
2条答案
按热度按时间pexxcrt21#
Excel的简短答案是:不,但是星号。
Excel Power Query
不支持custom connectors
(从2022-02-07
开始)Auth2 flow
,需要一个custom connector
下面是
Chris Web
的一个摘要版本。(他是一个强大的查询向导)Connecting To REST APIs With OAuth2 Authentication In Power Query/Power BI @ blog.crossjoin.co.ukMicrosoft认可的对此问题的明确答案是:如果要从
Power BI
连接到使用OAuth2 authentication
的REST API
,则需要构建自定义连接器。您可以在常规Power Query查询中使用
OAuth2 credential flow
,而无需定制连接器。唯一的例外是,您可以使用内置的
web
或OData connectors
连接到某些使用AAD authentication
的APIs
Power BI Service
中使用custom connector
,需要一个on-premises gateway
OAuth2 flow
OAuth2
流量与Azure Active Directory
配合使用,使用Web
和OData
连接器9wbgstp72#
我使用Excel VBA代码通过调用MS Edge和Seliumn Basic驱动程序来处理MYOB API连接。
VBA随后执行MYOB API连接器加载项。
VBA从MYOB接收我需要的数据库文件,并将它们写入PC上的. txt文件位置。
VBA然后刷新Power Query的数据连接,Power Query运行我在高级编辑器中编写的M代码。
当我关闭excel,VBA关闭所有的连接和MYOB添加连接器。