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 OAuth2
và OpenID
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ôiNhận mã thông báoBâ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
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 ehAPI 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ị MSMicrosoft 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 raBả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
- 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