2016-04-23 92 views
0

我得的OAuth创建客户,然后通过他们的客户ID加载客户工作不能叫QuickBooks的“查询”端点

然而,当我试图通过名称中使用“查询”端点找到一个客户,它使我失败。

我正在使用Laravel和PHPoAuthLib库。我的代码看起来像这样:

$oauth = OAuth::consumer('QuickBooks'); 
$oauth_token = unserialize(file_get_contents(storage_path("tokens/saved_data.txt"))); 

$storage = $oauth->getStorage(); 
$storage->storeAccessToken('QuickBooks', $oauth_token['access_token']); 

// Check for Quickbooks donor 
$result = $oauth->request("/v3/company/" . $oauth_token['company_id'] . "/query?query=SELECT * FROM Customer MAXRESULTS 1", "GET"); 

return $result; 

这是返回400错误消息“未知版本”

试图谷歌这个错误表明,它可能会在签名生成的问题。

回答

0

其实我想通了这个问题大约两个星期前 - 更新与答案,我发现:

查询需要进行URL编码。我把它改成如下:

$result = $oauth->request("/v3/company/" . $oauth_token['company_id'] . "/query?query=" . urlencode("SELECT * FROM Customer MAXRESULTS 1"), "GET"); 

一切完美

工作