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)