Non ho familiarità con l'API di Google Apps, ma sembra
orgunits.list () è definito come:
class FactoryObject(object):
# ... Code Here ...
def list(self, **kwargs):
if 'some_parameter' not in kwargs:
raise Exception('some_parameter required argument')
# ... code that uses kwargs['some_parameter']
return True
Quindi se eseguo questi comandi:
>>> orgunits.list()
Exception: some_parameter required argument
>>> orgunits.list('my_customer')
TypeError: list() takes exactly 1 argument (2 given)
>>> orgunits.list(some_parameter='my_customer')
True
Quindi la prossima volta che vedi l'errore, prova ad aggiungere il nome del parametro all'elenco degli argomenti e vedi se questo risolve il tuo problema.
Maggiori informazioni:
L'operatore di dispack del dizionario (**) non agisce come un argomento normale in un elenco di parametri. Se si supera un argomento posizionale, quando questo è l'unico argomento nell'elenco, allora lancerà un errore (come hai visto) perché il codice si aspetta invece un argomento della parola chiave.
L'operatore Unpack può accettare argomenti arbitrari della parola chiave e usarli in un dizionario.