【问题标题】:multiuser management in O365 pythonO365 python中的多用户管理
【发布时间】:2020-01-19 02:37:14
【问题描述】:

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

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>'

我需要存储多个用户密钥并执行一些任务。如果您有任何其他模块,请告诉我。

【问题讨论】:

    标签: python graph o365-flow


    【解决方案1】:

    我自己想通了。

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-23
      • 2012-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-07
      • 2019-04-30
      • 1970-01-01
      相关资源
      最近更新 更多