Ich verwende ein Skript, das ich aus dem Internet heruntergeladen habe, um auf unsere Service-API zuzugreifen. Ich versuche, die Funktion auszuführen, aber immer Fehler zu erhalten, egal was ich versuche zu tun.Neuling in Python [2.7] Funktion funktioniert nicht
from PyBambooHR import PyBambooHR
bamboo = PyBambooHR(subdomain='domain', api_key='apicode')
changes = bamboo.get_employee_changes()
Als ich das laufen lasse, erhalte ich folgende Fehlermeldung:
ValueError: Error: since argument must be a datetime.datetime instance
Nun, egal, was ich als Argumente gesetzt, habe ich noch Fehler bekommen. Ich habe auch versucht, die Syntax von:
def get_employee_changes(self, since=None):
"""
Returns a list of dictionaries, each with id, action, and lastChanged keys, representing
the employee records that have changed since the datetime object passed in the since= argument.
@return List of dictionaries, each with id, action, and lastChanged keys.
"""
if not isinstance(since, datetime.datetime):
raise ValueError("Error: since argument must be a datetime.datetime instance")
url = self.base_url + 'employees/changed/'
params = {'since': since.strftime('%Y-%m-%dT%H:%M:%SZ')}
r = requests.get(url, params=params, headers=self.headers, auth=(self.api_key, ''))
r.raise_for_status()
return utils.transform_change_list(r.content)
Danke für Ihre Hilfe
Offenbar obwohl der Parameter einen Standardwert zu haben scheint, Sie ** kann nicht * * rufe einfach 'bamboo.get_employee_changes()' auf; Sie müssen ein Datum angeben, an dem Sie Änderungen sehen möchten. Es ist nicht klar, warum die Betreuer diesen nutzlosen Standard zur Verfügung gestellt haben. – jonrsharpe
Ich kann nicht verstehen, warum jemand eine Funktion mit einem Standardwert definiert und dann eine Ausnahme auslöst, wenn der Standardwert verwendet wird oder warum sie einen Ausnahmefall sucht und dann eine Ausnahme auslöst, anstatt nur die Aufgabe zu versuchen und lass es seine eigene Ausnahme auslösen. – TigerhawkT3
Das ist so ein seltsames Standardargument. – miradulo