2016-09-15 36 views
1

我是Google域的管理員,並且正在嘗試自動配置新用戶。我首先嚐試使用名爲GAM的命令行工具來做到這一點。通過Google Directory API創建活動用戶

https://github.com/jay0lee/GAM

雖然這個工具的工作原理,我創建被標記爲不尋常的活動,並懸浮在創建用戶的至少一半。我曾嘗試以各種組合設置標誌,但獲得相同的結果。

我也嘗試通過編寫python程序直接使用Directory API,但所有新用戶仍然被創建爲暫停用戶。這是我的程序。任何人都可以對此有所瞭解嗎?謝謝。

from __future__ import print_function 
import httplib2 
import os 

from apiclient import discovery 
import oauth2client 
from oauth2client import client 
from oauth2client import tools 

try: 
    import argparse 
    flags = argparse.ArgumentParser(parents=[tools.argparser]).parse_args() 
except ImportError: 
    flags = None 

SCOPES = 'https://www.googleapis.com/auth/admin.directory.user' 
CLIENT_SECRET_FILE = 'client_secret.json' 
APPLICATION_NAME = 'Directory API Python Quickstart' 


def get_credentials(): 
    home_dir = os.path.expanduser('~') 
    credential_dir = os.path.join(home_dir, '.credentials') 
    if not os.path.exists(credential_dir): 
     os.makedirs(credential_dir) 
    credential_path = os.path.join(credential_dir, 
           'admin-directory_v1-python-quickstart.json') 

    store = oauth2client.file.Storage(credential_path) 
    credentials = store.get() 
    if not credentials or credentials.invalid: 
     flow = client.flow_from_clientsecrets(CLIENT_SECRET_FILE, SCOPES) 
     flow.user_agent = APPLICATION_NAME 
     if flags: 
      credentials = tools.run_flow(flow, store, flags) 
     else: # Needed only for compatibility with Python 2.6 
      credentials = tools.run(flow, store) 
     print('Storing credentials to ' + credential_path) 
    return credentials 

def create_user(): 
    credentials = get_credentials() 
    http = credentials.authorize(httplib2.Http()) 
    service = discovery.build('admin', 'directory_v1', http=http) 

    userinfo = {'primaryEmail': '[email protected]', 
     'name': { 'givenName': 'Jane', 'familyName': 'Smith' }, 
     'password': '34gjklre304iojlo24j2kl3kdlj',} 

    service.users().insert(body=userinfo).execute() 

if __name__ == '__main__': 
    create_user() 
    main() 

回答

0

此問題最終歸因於免費試用域的測試。使用試用域,上面的GAM和python程序都創建了一些暫停用戶和一些活動用戶。但是,當我在付費完整版谷歌域上嘗試使用這兩種方法時,我始終能夠創建所有活動用戶。

0

拿筆記從目錄API有關Creating accounts聲明如下:

如果谷歌帳戶購買郵件許可證,新的用戶帳戶 自動分配一個郵箱。此作業可能需要 幾分鐘才能完成並激活。

因此可能需要一段時間。

一個新的帳戶會自動由谷歌暫停,直到激活帳戶初始 管理員登錄:從用戶resources也注意。帳戶 激活後,該帳戶不再被暫停。

因此,創建新帳戶後,嘗試登錄以正式激活它。

相關問題