首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用‘OAuth2 -o365’库时出现python身份验证错误

使用‘OAuth2 -o365’库时出现python身份验证错误
EN

Stack Overflow用户
提问于 2018-08-21 00:19:50
回答 1查看 1.9K关注 0票数 0

我已经能够使用'python-o365‘库成功地连接和阅读电子邮件:

代码语言:javascript
复制
Connection.oauth2('Client_ID','Client_Secret',store_token=True)
inbox = FluentInbox()
for message in inbox.fetch_next(2):
   print(message.getSubject())

但是,当我尝试使用更基本的示例发送电子邮件时,我收到了来自服务器的401响应。

代码语言:javascript
复制
Connection.oauth2('Client_ID','Client_Secret',store_token=True)
att = Attachment(path=FilePath)
m = Message()
m.setRecipients(EmailTo)
m.setSubject('DBM Errors Identified - ' + FileName)
m.setBody(MessageBody)
m.attachments.append(att)
m.sendMessage()

我还尝试了设置connection对象并将其作为参数传递:

代码语言:javascript
复制
auth = Connection.oauth2('Client_ID','Client_Secret',store_token=True)
m = Message(*auth=auth*)

但是,这会导致以下错误消息:

TypeError: 'Connection' object is not callable

谢谢你的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-22 04:06:10

通过切换到上面使用的'python-o365‘库的fork,我能够绕过这个问题。我觉得我可能在这个库中遗漏了一些明显的东西,但这解决了问题

下面是我的身份验证流的简化版本,如果有人感兴趣的话:

代码语言:javascript
复制
scopes = ['https://graph.microsoft.com/Mail.Read'']    
account = Account(('Client_Id', 'Client_Secret'], auth_method='oauth',scopes=scopes)
account.connection.get_authroization_url() #generate the url for user to authenticate
result_url = input('Paste the result URL once you have authenticated...')
account.connection.get_session() #generate a session
m = account.new_message()
m.to.add('EmailTo')
m.body = 'MessageText'
m.send()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51934845

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档