Xero节点以PDF格式获取发票

时间:2019-07-02 07:38:54

标签: parse-platform electron xero-api

我试图在xero中创建发票,然后通过我的解析服务器将pdf版本上传到mongoDB。 我正在应用程序main.js中的快速应用程序中对xero进行身份验证。
当我保存发票Pdf进行解析时,它被拒绝为“模式不匹配,期望文件但有对象”,在创建PDF版本的代码中我缺少什么?

let oauth_verifier = req.query.oauth_verifier;
let accessToken = await xeroClient.oauth1Client.swapRequestTokenforAccessToken(lastRequestToken, oauth_verifier)
    .then(async() => {
        var invoice = xeroClient.invoices.create(data)
            .then(async(invoice) => {
                var inv = invoice["Invoices"][0];
                var invId = inv["InvoiceID"];
                await xeroClient.invoices.get({ InvoiceID: invId}, "application/pdf")
                    .then((invPdf) => {

                        Parse.initialize("--------------------");    
                        Parse.serverURL = 'http://--.---.---.--:--/parse';
                        var Invoices = Parse.Object.extend("Invoices");
                        var invoice = new Invoices;
                        invoice.set('invoicePdf', invPdf);
                        invoice.save(); 

                        event.returnValue = true;
                        win.close();
                    })
            })

1 个答案:

答案 0 :(得分:0)

在Node.JS的GitHub源代码中,有一个名为savePDF的单独函数似乎可以解决问题,正如您在上面的注释中所指出的那样。 https://github.com/XeroAPI/xero-node/blob/36ab8a513263426a173633691f5308237f473b99/src/AccountingAPIClient.ts#L469