在南非有一个使用xero作为其会计软件的客户。我写的定价表相当复杂,但是它依赖于xero的最新联系人列表。现在,我们正在手动提取联系人并将其粘贴到我的Excel工作表中。我想知道是否可以从excel vba使用API来从Xero中提取联系人的完整列表。
答案 0 :(得分:0)
此处列出了当前可用的API:https://developer.xero.com/documentation/libraries/overview
我看不到可以直接在VBA中使用的一个,但是可以在“适当的” VB.Net中编写一些内容以在Xero和Excel之间进行接口吗?有一个.net SDK,可轻松检索联系人详细信息。
答案 1 :(得分:0)
不使用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刷新令牌并将其调整为适用于Xero Api调用。在互联网上挖掘更多信息。