Projekt um Programme Automatisch mittels APIs zu Aktualliesieren
Verfasst: Dienstag 16. Juni 2020, 08:58
Hallo ich bin Umschüler zum Anwendungsentwickler und zur Zeit im Praktikum, in der Schule hatten wir nur JAVA als Programmiersprache und jetzt im Betrieb soll ich Python benutzen, wobei ich sagen muss das Python eine echt tolle Sprache ist. Als Projekt soll ich ein Programm schreiben in dem 2 Programme Daten automatisch, mittels Json Dateien, über APIs an ein drittes Programm schicken und Aktualisieren. In dem Betrieb in dem ich bin ist es leider so das hier kein Entwickler oder irgendwer der sich mit Programmierung auskennt ist und ich bei fragen nur zu hören bekomme, guck bei Google oder sowas wie, wenn ich dir das sage kann ich es auch gleich selber machen. Ich hab soweit ein Programm das die Dateien holt und auch versendet zusammen geschustert. Jetzt soll ich Funktionen einbauen die beim anlegen eines neuen Kunden Automatisch die Daten holt und an unser CRM sendet und das selbe beim anlegen eines neuen Tickets. Genau da komme ich jetzt nicht weiter.
Zuerst der Code ohne Funktionen, da empfange und sende ich die Daten und die kommen auch beim Empfänger an
Zuerst der Code ohne Funktionen, da empfange und sende ich die Daten und die kommen auch beim Empfänger an
Code: Alles auswählen
import json
import requests
from requests.auth import AuthBase
class TokenAuth(AuthBase):
"""Funktion zum Generieren eines Tokens """
def __init__(self, token):
self.token = token
self.token1 = token
""" Funktion zur Authentifizierung. Der Header wird Generiert und an die URL gesendet"""
def __call__(self, r):
r.headers['X-Ninja-Token'] = f'{self.token}'
r.headers['Authorization'] = f'{self.token1}'
return r
response = requests.get('https://xxx/api/v1/clients?invoice_id=2', auth=TokenAuth(xxx))
data = response.json()
print(json.dumps(data, indent= 4))
response1 = requests.get('https://xxx/api/v1/tickets', auth=TokenAuth('Token token=xxx'))
data1 = response1.json()
print(json.dumps(data1, indent=4))
a = open("jason.txt", "r+")
a.write(str(data))
a.write(str(data1))
a.close()
data1 = requests.post('https://xx/api/v1/clients?invoice_id2', auth=TokenAuth(xxx))
print(data1)
und nun der mit Funktionen der leider nicht Funtioniert
import json
import requests
from requests.auth import AuthBase
class TokenAuth(AuthBase):
"""Funktion zum Generieren eines Tokens """
def __init__(self, token):
self.token = token
self.token1 = token
""" Funktion zur Authentifizierung. Der Header wird Generiert und an die URL gesendet"""
def __call__(self, r):
r.headers['X-Ninja-Token'] = f'{self.token}'
r.headers['Authorization'] = f'{self.token1}'
return r
""" Funktion zum weiterleiten von neu erstellten Clients """
def new_client(self, clients):
for client in clients():
if client > 0:
response = requests.get('https://xxxxxx/api/v1/clients?invoice_id=2', auth=TokenAuth(xxxxxx))
data = response.json()
data = requests.post('https://xxxxxx/api/v1/clients?invoice_id2', auth=TokenAuth(xxxxxx))
print(json.dumps(data, indent= 4))
return data
""" Funktion zum weiterleiten von neu erstellten Tickets """
def new_ticket(self, tickets):
for ticket in tickets():
if ticket > 0:
response1 = requests.get('https://xxxxxx/api/v1/tickets', auth=TokenAuth('Token token=xxxxxx))
data1 = response1.json()
data1 = requests.put('https://xxxxxx/api/v1/clients?invoice_id2', auth=TokenAuth(xxxxxx))
print(json.dumps(data1, indent=4))
print(data1)