Ich verwende normalerweise das PHP SDK, das gut funktioniert. Allerdings muss ich eine Ressource anrufen, die derzeit nicht über das SDK verfügbar ist, dh die Möglichkeit, eine PDF-Rechnung gemäß https://developer.intuit.com/docs/api/accounting/invoiceSo authentifizieren Sie sich mit Quickbooks Online API mit CURL & PHP
abzurufen Ich muss daher über die Basis-URL verbinden. Nun, dies ist eine App, die ich gerade verwende, um mich mit meinem eigenen Unternehmenskonto zu verbinden. Ich habe alle Anmeldeinformationen über den oAuth Playground generiert und alle 180 Tage manuell erneuert. Das ist, was ich versucht:
$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;
Dies ist die Antwort:
< 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
Ich weiß nicht einmal, ob ich alle richtigen Schlüssel und Token bin mit. Ich habe dieselben Werte verwendet, die ich erfolgreich für das PHP SDK verwendet habe.
Ich würde mich freuen, wenn jemand mir raten kann, was ich falsch mache. Vielen Dank.
Überprüfen Sie Ihre /etc/nginx/nginx.conf versuchen Sie, keep_alive & client_max_body_size zu ändern, sobald Sie nginx neu starten. Sollte funktionieren –