无法调用 QuickBooks "query" 端点
Cannot call QuickBooks "query" endpoint
我使用 OAuth 创建客户,然后通过他们的客户 ID 加载该客户
然而,当我尝试使用 "query" 端点按姓名查找客户时,我失败了。
我正在使用 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 错误消息 "Unknown Version"
尝试 google 这个错误表明它可能是签名生成中的一个问题。
我大约两周前就发现了这个问题——用我找到的答案更新:
查询需要 URL 编码。我将其更改为以下内容:
$result = $oauth->request("/v3/company/" . $oauth_token['company_id'] . "/query?query=" . urlencode("SELECT * FROM Customer MAXRESULTS 1"), "GET");
一切正常
我使用 OAuth 创建客户,然后通过他们的客户 ID 加载该客户
然而,当我尝试使用 "query" 端点按姓名查找客户时,我失败了。
我正在使用 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 错误消息 "Unknown Version"
尝试 google 这个错误表明它可能是签名生成中的一个问题。
我大约两周前就发现了这个问题——用我找到的答案更新:
查询需要 URL 编码。我将其更改为以下内容:
$result = $oauth->request("/v3/company/" . $oauth_token['company_id'] . "/query?query=" . urlencode("SELECT * FROM Customer MAXRESULTS 1"), "GET");
一切正常