Ich glaube nicht, dass ich OAuth brauchenAuthentifizieren Quickbooks API
Dann wieder, was weiß ich
Alles, was ich tun möchte, ist jemand Kreditkartendaten nehmen und sie aufladen. Ich greife nicht auf die QuickBooks-Konten anderer Personen zu (nur meine eigenen), und ich versuche nicht, auf andere persönliche Informationen zuzugreifen als auf die, die sie in mein Formular eingeben. Aus diesem Grund scheint es absolut falsch zu denken, dass ich sie auf intuit.com umleiten und sie durch eine OAuth-Eingabeaufforderung zwingen müsste (welcher Account würde sie sogar autorisieren? Sie haben wahrscheinlich kein QuickBooks-Konto)
Ich habe die letzte Stunde damit verbracht, die API-Dokumentation von QuickBook durchzulesen, und ich bin im Kreis gelaufen und habe die ganze Sache als völlig verwirrend empfunden. Auf jeder Seite, die auf einen bestimmten API-Endpunkt verweist, wird die Authentifizierung nicht erwähnt - nur die erwarteten Header, Abfrageparameter und Anforderungshauptteile. Die API-Explorer zeigt keine Form der Authentifizierung in ihre Beispiele:
Keine Grund Auth-Header, nichts in der Anfrage Körper mit einem API-Token, .. nichts
Überprüfen der Konsole, während Schlagen Einreichen ist nicht hilfreicher. Die Anfrage wird an ihrem Back-End-Server gesendet, wo es macht die echten Anfrage:
Es gibt sogar „apikey“, „apisecret“ und „oauth“ Attribute im Körper enthält, die alle sind leer - es verhält sich so, als ob der Endpunkt nicht einmal eine Authentifizierung benötigt.
Aus stummer Neugier habe ich versucht, die Anfrage ohne Authentifizierung zu machen, um zu sehen, was passieren würde:
401 nicht autorisierte. So einige Authentifizierung wird benötigt. Ich fuhr fort, die Dokumente zu durchsuchen und drehte nichts außer page nach page mich zurück zu OAuth und sagen, dass ich OAuth einrichten muss. Warum muss ich OAuth so einrichten, dass eine Kreditkartennummer, die mir gegeben wurde, an QuickBooks übergeben wird?
Ich habe sogar versucht, ihre Beispiel-App zu betrachten. Das "Nimm den Code für eine Probefahrt" (https://developer.intuit.com/v2/ui#/emulator?workflow=ecommerce) war absolut wertlos. Es gab mir nur einigen Pseudo-Code mit null Idee, wie die Authentifizierung umgehen:
Ich sah auch bei the actual code und sehe nicht überall, dass sie einen API-Schlüssel oder Geheimschlüssel zur Verfügung stellen.
Ich zerreiße mir zu diesem Zeitpunkt ziemlich die Haare, deshalb denke ich, dass ich jemanden mit Erfahrung brauche, der mich in die richtige Richtung weist.
Ich habe mich hingesetzt, um die OAuth-Integration mit [PHPoAuthLib] (https://github.com/Lusitanian/PHPoAuthLib) nach Ihren Kommentaren und nach [ihrem Beispiel] (https://github.com/Lusitanian /PHPoAuthLib/blob/master/examples/quickbooks.php) Ich konnte direkt nach der Genehmigung meiner App eine einzelne API-Anfrage machen, jedoch konnte ich niemals eine zweite Anfrage stellen, ohne die App erneut zu autorisieren. Ich speicherte 'oauth_token',' oauth_verifier' und 'realmId' (die von QuickBooks zurückgegeben wurden) und versuchte, sie wieder zu verwenden, aber 401 Unauthorized :(Irgendwelche Gedanken? – stevendesu
Da diese Antwort mir viel näher kam als zuvor, gehen Sie weiter und markieren dies als die richtige Antwort - wird eine neue Frage für meine neue Frage stellen – stevendesu