Python đọc email mà không cần triển vọng

Bài viết này mô tả cách lọc email từ hộp thư Outlook bằng cách sử dụng python. Chúng tôi sẽ sử dụng các thư viện sau để hoàn thành nhiệm vụ này

https. //github. com/AzureAD/microsoft-authentication-library-for-python

Ghi chú. Xin lưu ý rằng nếu bạn đang sử dụng ADAL để xác thực, Microsoft khuyên bạn nên chuyển sang MSAL

Yêu cầu

Để lọc email có chủ đề, chúng tôi cần như sau

  • Thông tin đăng nhập hộp thư [tên người dùng và mật khẩu]
  • Email người gửi [Lọc thư từ một người gửi cụ thể nếu cần]
  • Id tin nhắn [Id tin nhắn duy nhất cho một email]

Dữ liệu trên được yêu cầu để xác thực, khởi tạo đối tượng ClientApplication và xây dựng MS Graph API để tải xuống các tệp đính kèm

Cài đặt MSAL.
$pip install msal

Thư viện xác thực của Microsoft dành cho python cho phép bạn đăng nhập người dùng hoặc ứng dụng bằng danh tính Microsoft, lấy mã thông báo xác thực để sử dụng với Microsoft Graph API. Chúng được xây dựng bằng cách sử dụng các giao thức kết nối OAuth2OpenID

Khởi tạo ứng dụng khách

MSAL định nghĩa 3 loại ứng dụng và cung cấp rõ ràng ranh giới trong việc khởi tạo chúng

  • ứng dụng khách
  • Ứng dụng khách hàng công khai
  • ứng dụng khách hàng bí mật

Để tìm hiểu thêm về các loại ứng dụng khách OAuth, vui lòng nhấp vào đây. Trong bài viết này, chúng tôi sẽ sử dụng

//graph.microsoft.com/v1.0/me/messages?$search="subject:Test subject email"&top=1
0 để khởi tạo đối tượng ứng dụng và sử dụng lại trong ứng dụng của chúng tôi

Nhận mã thông báo

Bây giờ chúng ta đã khởi tạo đối tượng ứng dụng của mình, chúng ta có thể có được

//graph.microsoft.com/v1.0/me/messages?$search="subject:Test subject email"&top=1
1. Mã thông báo này có thể được sử dụng để trích xuất thành
//graph.microsoft.com/v1.0/me/messages?$search="subject:Test subject email"&top=1
2 cho các tiêu đề

đầu ra

Đầu ra mã thông báo trông như thế này

Trích xuất email từ người gửi có chủ đề

Bây giờ chúng tôi đã khởi tạo ứng dụng khách của mình và có tất cả thông tin cần thiết để truy cập

//graph.microsoft.com/v1.0/me/messages?$search="subject:Test subject email"&top=1
3, hãy trích xuất email từ một người gửi với chủ đề cụ thể

Chúng tôi chuyển chủ đề quan tâm vào các tham số truy vấn của API. Hãy chú ý đến các trích dẫn được sử dụng ở đây. Bạn thực sự có thể tự bắn vào chân mình ở đây vì API có thể không phàn nàn trong trường hợp trích dẫn không khớp mà chỉ trả về kết quả không chính xác

Tham số

//graph.microsoft.com/v1.0/me/messages?$search="subject:Test subject email"&top=1
4 giới hạn số lượng kết quả trả về. Giả sử chúng ta có nhiều kết quả từ phản hồi API cho cùng một chủ đề, cài đặt
//graph.microsoft.com/v1.0/me/messages?$search="subject:Test subject email"&top=1
0 sẽ cung cấp cho bạn email mới nhất 😉. Chỉ là những gì chúng ta muốn eh

API trông giống như bên dưới

//graph.microsoft.com/v1.0/me/messages?$search="subject:Test subject email"&top=1

Nếu bạn muốn sử dụng

//graph.microsoft.com/v1.0/me/messages?$search="subject:Test subject email"&top=1
1 hoặc
//graph.microsoft.com/v1.0/me/messages?$search="subject:Test subject email"&top=1
2, điều này có thể hữu ích. Ở đây, chúng tôi có một tham số truy vấn
//graph.microsoft.com/v1.0/me/messages?$search="subject:Test subject email"&top=1
3 đã sử dụng có thể được áp dụng cho API Đồ thị MS

Microsoft Graph hỗ trợ các tham số truy vấn tùy chọn mà bạn có thể sử dụng để chỉ định và kiểm soát lượng dữ liệu được trả về trong một phản hồi. Hỗ trợ cho các tham số truy vấn chính xác thay đổi từ hoạt động API này sang hoạt động API khác và tùy thuộc vào API

Bạn có thể tìm kiếm tin nhắn dựa trên một giá trị trong các thuộc tính tin nhắn cụ thể. Kết quả tìm kiếm được sắp xếp theo ngày và giờ gửi tin nhắn. Yêu cầu

//graph.microsoft.com/v1.0/me/messages?$search="subject:Test subject email"&top=1
3 trả về tối đa 1000 kết quả

đầu ra

Bản tóm tắt
  • Tạo một đối tượng
    //graph.microsoft.com/v1.0/me/messages?$search="subject:Test subject email"&top=1
    0 và sử dụng nó trong suốt vòng đời của ứng dụng của chúng tôi
  • Sử dụng đối tượng ứng dụng để trích xuất tất cả email từ một người gửi cụ thể có chủ đề

Những bài viết liên quan

Nếu bạn đang tìm cách tải xuống thư/tệp đính kèm sau khi lọc, vui lòng đọc bài viết dưới đây

  • https. //trăn. tiếng Anh đơn giản. io/how-to-download-attachments-from-outlook-using-python-and-msal-e09e13670f8b
Người giới thiệu
  • https. // stackoverflow. com/câu hỏi/49127806/search-top-1000-email-by-subject-contain-a-string-using-microsoft-graph
  • https. // tài liệu. Microsoft. com/en-us/graph/search-query-parameter?context=graph%2Fapi%2F1. 0&view=đồ thị-phần còn lại-1. 0#using-search-on-message-bộ sưu tập
  • https. // tài liệu. Microsoft. com/en-us/graph/search-query-parameter?context=graph%2Fapi%2F1. 0&view=đồ thị-phần còn lại-1. 0#using-search-on-message-bộ sưu tập

Được xuất bản lần đầu tại https. //dock2learn. com vào ngày 15 tháng 8 năm 2022

Thêm nội dung tại PlainEnglish. io. Đăng ký nhận bản tin miễn phí hàng tuần của chúng tôi. Theo dõi chúng tôi trên Twitter, LinkedIn, YouTube và Discord

Chủ Đề