在南非有一个客户使用Xero作为他们的会计软件。 我写了一份相当复杂的定价表,但它依赖于拥有来自 xero 的最新联系人列表。 现在,我们正在手动提取联系人并将其粘贴到我的Excel工作表中。 我想知道是否有一个 API 可以从 excel vba 从 Xero 中提取完整的联系人列表。
当前可用的 API 列表如下: https://developer.xero.com/documentation/libraries/overview
我看不到您可以直接从 VBA 中使用的一个,但是您能否以"适当的"VB.Net 编写一些东西来连接 Xero 和 Excel?有一个.net SDK,可以非常简单地检索联系人详细信息。
不要使用VBA,而是尝试使用较新的 excel"获取数据"功能,该功能使用较旧的 Power Query,类似于 Power BI 中的查询。
您应该能够使用以下内容:
let
Pagination = List.Skip(List.Generate( () => [Table = #table({}, {{}}) ,Pages = 1, Counter=0], // Start Value
each Table.RowCount([Table])>0 or [Counter]=0, // Condition under which the next execution will happen
each [ WebCall = Json.Document(Web.Contents("INSERT XERO API CALL", [Query=[page=Text.From([Pages])]])),// retrieve results per call
Pages = [Pages]+1,
Counter = [Counter]+1,// internal counter
Table = Table.FromRecords(WebCall[orders])// steps of your further query
]
),1),
#"Converted to Table" = Table.FromList(Pagination, Splitter.SplitByNothing(), null, null, ExtraValues.Error)
in
#"Converted to Table"
以上也将对响应进行分页,但您必须使用 Oauth2 refrsh 令牌并将其调整为 Xero API 调用。在互联网上挖掘更多详细信息。