寻找是否有一种方法可以通过vba和api将所有xero中的所有联系人提取到excel中

时间:2019-09-04 18:04:10

标签: xero-api

在南非有一个使用xero作为其会计软件的客户。我写的定价表相当复杂,但是它依赖于xero的最新联系人列表。现在,我们正在手动提取联系人并将其粘贴到我的Excel工作表中。我想知道是否可以从excel vba使用API​​来从Xero中提取联系人的完整列表。

2 个答案:

答案 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调用。在互联网上挖掘更多信息。