Ich versuche, die Quickbooks API für Python zu implementieren, um Rechnungen basierend auf Transaktionen zu generieren, und senden Sie sie an meine Quickbooks-Konto. Ich benutze this Python-Bibliothek für den Zugriff auf die API, die derzeit in Version 0.5.1 und ist verfügbar auf PyPI. Ich habe Probleme, meine Anwendung mit Quickbooks Online zu verbinden.Hilfe Hilfe Python-Quickbooks-Bibliothek und Quickbooks Accounting API
Ich habe ein Entwicklerkonto auf Quickbooks erstellt und habe Zugriff auf mein App-Token, Consumer-Key und Consumer Secret. Die Anleitung auf der GitHub-Seite der Bibliothek verwirrt mich, da unter "Ihre Anwendung mit Quickbooks Online verbinden" die Schritte 1 und 2 zusammenhängen, aber in gewisser Weise unabhängig voneinander sind; hauptsächlich wegen der Reinitialisierung der Client-Variablen.
Soll ich mehrere Quickbook-Objekte mit dem Namen "client" haben, die aber im gesamten Code neu initialisiert werden?
Mein Code sieht wie folgt aus:
def create_invoice():
consumer_key = 'MY-CONSUMER-KEY'
consumer_secret = 'MY-CONSUMER-SECRET'
client = QuickBooks(
sandbox=True,
consumer_key=consumer_key,
consumer_secret=consumer_secret,
callback_url='https://sandbox-quickbooks.api.intuit.com',
)
authorize_url = client.get_authorize_url()
request_token = client.request_token
request_token_secret = client.request_token_secret
client = QuickBooks(
sandbox=True,
consumer_key=consumer_key,
consumer_secret=consumer_secret
)
client.authorize_url = authorize_url
client.request_token = request_token
client.request_token_secret = request_token_secret
client.set_up_service()
client.get_access_tokens(request.vars.oauth_verifier)
realm_id = request.vars.realmId
access_token = client.access_token
access_token_secret = client.access_token_secret
client = QuickBooks(
sandbox=True,
consumer_key=consumer_key,
consumer_secret=consumer_secret,
access_token=access_token,
access_token_secret=access_token_secret,
company_id=realm_id
)
invoice = Invoice()
line = SalesItemLine()
line.LineNum = 1
line.Description = "description"
line.Amount = 100
line.SalesItemLineDetail = SalesItemLineDetail()
item = Item.all(max_results=1, qb=client)[0]
line.SalesItemLineDetail.ItemRef = item.to_ref()
invoice.Line.append(line)
customer = Customer.all(max_results=1, qb=client)[0]
invoice.CustomerRef = customer.to_ref()
invoice.CustomerMemo = CustomerMemo()
invoice.CustomerMemo.value = "Customer Memo"
invoice.save(qb=client)
Mit diesem Code, den ich den Fehler:
KeyError: 'Decoder failed to handle oauth_token with data as returned by provider. A different decoder may be needed. Provider returned: oauth_problem=parameter_absent&oauth_parameters_absent=oauth_verifier'
Weil ich bin immer der Fehler etwas nicht in Ordnung sein, aber ich bin verwirrt wohin ich jetzt gehen soll.