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
我正在创建一个 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