O365 中的多用户管理 python

multiuser management in O365 python

我正在创建一个 office 应用程序,其中包含多个用户凭据并执行诸如发送电子邮件和添加日历事件之​​类的任务。我选择了O365。除了这里,一切都很棒。我无法保存凭据。与其他 google 产品一样,我们挑选信誉。

with open(f'account_data/{account_name}.pickle','wb') as stream:
    pickle.dump(account, stream)

但我错误为

AttributeError: Can't pickle local object 'OAuth2Session.__init__.<locals>.<lambda>'

I need to store multiple user keys and do some tasks. If you have any other module then tell me.

我自己想出来了。

from O365 import Account, MSGraphProtocol, message, FileSystemTokenBackend
def new_account(account_name):
    account = Account(credentials, scopes=scopes, )
    token_backend = FileSystemTokenBackend(token_path='account_data', token_filename=f'{account_name}.txt')
    account.con.token_backend = token_backend
    account.authenticate()
    account.con.token_backend.save_token()

def load_account(account_name):
    account = Account(credentials, scopes=scopes, )
    token_backend = FileSystemTokenBackend(token_path='account_data', token_filename=f'{account_name}.txt')
    account.con.token_backend = token_backend
    account.con.token_backend.load_token()
    if account.con.refresh_token():
        return account