Je ne connais pas l'API Google Apps, mais il semble que
orgunits.list () est défini comme:
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
Donc, si j'exécute ces commandes:
>>> 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
La prochaine fois que vous verrez l'erreur, essayez d'ajouter le nom du paramètre à votre liste d'arguments et voyez si cela résout votre problème.
Plus d'information:
L'opérateur de déballage du dictionnaire (**) n'agit pas comme un argument normal dans une liste de paramètres. Si vous passez un argument positionnel, quand c'est le seul argument de la liste, il lancera une erreur (comme vous l'avez vu) car le code s'attend à un argument de mot-clé à la place.
L'opérateur de déballage peut accepter des arguments de mots clés arbitraires et les utiliser dans un dictionnaire.