从Quickbook获取数据

时间:2016-03-01 06:15:55

标签: quickbooks intuit-partner-platform quickbooks-online intuit

大家好,我是quickbooks的新手。我会尝试检索快速书中的一些数据,但是快速书没有返回任何内容。我可以弄清楚我做错了什么。我试图检索这样的数据

QUICKBOOKS。 PHP

$serviceType = IntuitServicesType::QBO;
$realmId = $this->CI->session->userdata('realmId');
$token = unserialize($this->CI->session->userdata('token'));
$requestValidator = new OAuthRequestValidator($token["oauth_token"],
                    $token["oauth_token_secret"],
                    $this->CI->config->item('OAUTH_CONSUMER_KEY'),
                    $this->CI->config->item('OAUTH_CONSUMER_SECRET'));
$serviceContext = new ServiceContext($realmId, $serviceType, $requestValidator);
$dataService = new DataService($serviceContext);
$entities = $dataService->Query("SELECT * FROM SalesReceipt");
error_log(print_r($entities , true));

有人可以告诉我,我做错了什么。谢谢

1 个答案:

答案 0 :(得分:0)

在这种情况下,您应该做的第一件事是打开日志记录,然后发布日志。

在没有看到你的日志的情况下,没有人能在这里告诉你。

话虽如此,这个错误并不值得:

  

而不是dataservice我尝试使用QuickBooks_IPP_Services_SalesReceipt,但它给了我一个错误salesrecipt类没有定义

是因为该类来自完全独立的,不相关的PHP代码库。如果你想使用那个类,那么你应该做的是:

$SalesReceiptService = new QuickBooks_IPP_Service_SalesReceipt();
$salesreceipts = $SalesReceiptService->query($Context, $realm, "SELECT * FROM SalesReceipt STARTPOSITION 1 MAXRESULTS 10");

foreach ($salesreceipts as $SalesReceipt)
{
    print('Receipt # ' . $SalesReceipt->getDocNumber() . ' has a total of $' . $SalesReceipt->getTotalAmt() . "\n");

}

如果您仍然遇到问题,可以像这样获取HTTP请求/响应:

print($IPP->lastError($Context));
print("\n\n\n\n");
print('Request [' . $IPP->lastRequest() . ']');
print("\n\n\n\n");
print('Response [' . $IPP->lastResponse() . ']');

更多例子可以在这里找到: