我正在尝试编写一个与我们的 Google Apps 域中的组织单位一起使用的命令行脚本。因此,使用 Google 提供的许多令人费解的文档,我已经在 API 控制台中成功创建了应用程序,打开了 Admin SDK,并在我的脚本中成功连接。但是,当我创建目录服务对象(这似乎是成功的)时,我遇到了与它交互的问题,因为我收到了该消息。我也安装了 Python API 包。这是我当前的代码:
import argparse
import httplib2
import os
import sys
from apiclient.discovery import build
from oauth2client.client import SignedJwtAssertionCredentials
f = file("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-privatekey.p12", "rb")
key = f.read()
f.close()
credentials = SignedJwtAssertionCredentials(
"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx@developer.gserviceaccount.com",
key,
scope = "https://www.googleapis.com/auth/admin.directory.orgunit"
)
http = httplib2.Http()
http = credentials.authorize(http)
directoryservice = build("admin", "directory_v1", http=http)
orgunits = directoryservice.orgunits()
thelist = orgunits.list('my_customer')
当我运行该代码时,我收到错误消息:
Traceback (most recent call last):
File "test.py", line 33, in <module>
orgunits.list('my_customer')
TypeError: method() takes exactly 1 argument (2 given)
我尝试不使用“my_customer”别名,但随后错误抱怨我没有提供它。任何帮助将不胜感激,我很长时间没有使用 Python;很可能是用户错误。