我通常使用PHP SDK,它運行良好。但是,我需要調用一個當前不可用的資源,這個資源能夠按照https://developer.intuit.com/docs/api/accounting/invoice如何使用CURL和PHP對Quickbooks Online API進行身份驗證
拉入PDF發票。因此我需要通過基本URL進行連接。現在,這是我用來連接到我自己的公司帳戶的應用程序。我通過oAuth Playground生成所有憑據並每180天手動更新一次。這是我的嘗試:
$url = "https://quickbooks.api.intuit.com/v3/company/123456/invoice/8661/pdf";
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array("OAuth oauth_token:*******",
"oauth_nonce:******",
"oauth_consumer_key:*****",
"oauth_signature_method:HMAC-SHA1",
"oauth_timestamp:1461326602",
"oauth_version:1.0",
"oauth_signature:******"));
curl_setopt($curl, CURLOPT_VERBOSE, TRUE);
$result = curl_exec ($curl);
print $result;
這是響應:
< HTTP/1.1 400 Illegal character 0x20
< Server: nginx
< Date: Fri, 22 Apr 2016 11:58:59 GMT
< Content-Length: 0
< Connection: keep-alive
< Keep-Alive: timeout=5
我甚至不知道如果我使用所有正確的密鑰和令牌。我使用了我成功用於PHP SDK工作的相同值。
如果有人能告訴我我做錯了什麼,我將不勝感激。謝謝。
檢查你的/etc/nginx/nginx.conf嘗試修改keep_alive&client_max_body_size完成後重新啓動nginx。應該工作 –