显示没有帐户的所有者的附件

时间:2016-10-27 13:43:28

标签: php exact-online

我有一小段代码,用于检索发票附件的所有网址

    $salesInvoice = new \Picqer\Financials\Exact\SalesInvoice($connection);
    $salesInvoices = $salesInvoice->filter("InvoiceToName eq 'my dude'");

    $this->addTplParam("oItems", $salesInvoices);

    $aInvoices = array();
    $aDocuments = array();
    $aDocumentAttachments = array();

    // we collect all the invoices numbers
    foreach($salesInvoices as $salesInvoice)
    {
        $aInvoices[] = $salesInvoice->InvoiceNumber;
    }

    // now we check the Documents
    $document = new \Picqer\Financials\Exact\Document($connection);
    $documents = $document->filter("SalesInvoiceNumber eq ".$aInvoices[0]);


    foreach($documents as $document) {
        $aDocuments[] = $document->ID;
    }

    // now the attachments
    $documentAttachment = new \Picqer\Financials\Exact\DocumentAttachment($connection);
    $documentAttachments = $documentAttachment->filter("Document eq guid'".$aDocuments[0]."'");

    foreach($documentAttachments as $documentAttachment)
    {
        $aDocumentAttachments[] = $documentAttachment->Url;
    }

无论是否写得好,因为它不能完成工作。所以,例如,我得到这样的东西:

  

https://start.exactonline.de/docs/SysAttachment.aspx?ID=123123-123123-123123&Division=1234

尝试访问此文档时,我收到错误消息,我无权查看此文档。

现在我的问题:是否可以使用此链接“动态”创建PDF?我该怎么办?它只有在我登录到精确在线时才有效。但是,客户在那里没有帐户。

2 个答案:

答案 0 :(得分:2)

不,那是不可能的。您只能使用资源的URL来绕过ExactOnline的安全性。

您需要做的是让您的客户能够以安全的方式获取文档,同时通过身份验证。没有任何开箱即用的功能,所以这对我来说意味着很多手工。

答案 1 :(得分:0)

每次对Exact Online的调用都需要进行身份验证。 在这种情况下,您还需要使用访问令牌指定Authorization标头。 我想您希望向客户展示您在Exact Online中所做的发票。为此,使用上面指定的方法。 检索数据后,您可以根据自己的需求/标准向客户显示数据,因为您是数据的所有者。 如果您指定业务案例,我们可以进一步讨论。或者你可以输入一张票。 (免责声明:我是一名精确的员工)