در این مطلب، ویدئو ارسال ایمیل (همراه با پیوست) در Outlook با استفاده از Microsoft Graph API در پایتون با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:13:40
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,560 –> 00:00:02,399
سلام بچه ها، بچه ها،
2
00:00:02,399 –> 00:00:04,560
در این ویدیو به شما نشان می دهم که چگونه
3
00:00:04,560 –> 00:00:06,560
با استفاده از
4
00:00:06,560 –> 00:00:08,880
Outlook با microsoft graph api در
5
00:00:08,880 –> 00:00:10,480
پایتون، یک ایمیل با ضمیمه ارسال کنید،
6
00:00:10,480 –> 00:00:12,880
قبل از اینکه وارد آموزش شویم، اجازه دهید
7
00:00:12,880 –> 00:00:16,720
ابتدا به مستندات نگاه کنیم
8
00:00:16,720 –> 00:00:18,960
تا ایمیلی که از آن استفاده خواهیم کرد ارسال کنیم.
9
00:00:18,960 –> 00:00:21,840
روش sendmail
10
00:00:21,920 –> 00:00:23,840
و روش مستلزم استفاده از
11
00:00:23,840 –> 00:00:27,599
مجموعه مجوز mail.send است
12
00:00:28,000 –> 00:00:30,480
و ما کد api را به این صورت میسازیم که
13
00:00:30,480 –> 00:00:32,558
نقطه پایانی به این شکل باشد
14
00:00:32,558 –> 00:00:35,680
تا بتوانیم از من برای ارجاع به حساب خود استفاده کنیم
15
00:00:35,680 –> 00:00:36,640
16
00:00:36,640 –> 00:00:38,480
یا اگر از طرف ایمیلی ارسال کنم
17
00:00:38,480 –> 00:00:40,160
کاربری که باید
18
00:00:40,160 –> 00:00:43,200
نقطه پایانی را به کاربران تغییر دهد و سپس آدرس ایمیل کاربر و
19
00:00:43,200 –> 00:00:44,559
20
00:00:44,559 –> 00:00:47,920
سپس نام روش را
21
00:00:48,079 –> 00:00:50,079
بهعنوان عنوان برای سرصفحههای درخواستی که
22
00:00:50,079 –> 00:00:52,000
باید توکن را
23
00:00:52,000 –> 00:00:54,800
به
24
00:00:54,800 –> 00:00:56,800
نوع محتوای مجوز ارائه کنیم اختیاری
25
00:00:56,800 –> 00:00:59,199
است زیرا پیشفرض از قبل روی
26
00:00:59,199 –> 00:01:01,920
فرمت برنامه json تنظیم شده است.
27
00:01:01,920 –> 00:01:04,640
و برای بدنه درخواست
28
00:01:04,640 –> 00:01:07,200
باید یک شیء پیام اضافه کنیم
29
00:01:07,200 –> 00:01:10,000
و ذخیره برای ارسال موارد اختیاری است، این
30
00:01:10,000 –> 00:01:12,000
فقط به این معنی است که آیا میخواهید
31
00:01:12,000 –> 00:01:15,680
یک کپی را در پوشه آیتمهای ارسال خود ذخیره کنید،
32
00:01:15,680 –> 00:01:17,920
خوب است، پس بیایید به پایتون من برویم.
33
00:01:17,920 –> 00:01:19,600
34
00:01:19,600 –> 00:01:21,040
اسکریپت خیلی خوب است، بنابراین
35
00:01:21,040 –> 00:01:23,600
از دستور import، ماژول os را وارد میکنم و
36
00:01:23,600 –> 00:01:27,280
اندازه فونت را افزایش
37
00:01:27,280 –> 00:01:29,840
38
00:01:29,840 –> 00:01:31,360
میدهم و به پیوستها،
39
00:01:31,360 –> 00:01:35,680
کتابخانه base64 را وارد میکنم
40
00:01:35,680 –> 00:01:37,920
و برای درخواست api
41
00:01:37,920 –> 00:01:42,320
، کتابخانه بحران را وارد میکنم.
42
00:01:42,320 –> 00:01:43,759
بنابراین
43
00:01:43,759 –> 00:01:46,960
برای احراز هویت، ماژولی نوشتم به
44
00:01:46,960 –> 00:01:50,560
نام ms underscore graph
45
00:01:51,600 –> 00:01:54,799
اساساً من یک تابع ایجاد می کنم تا
46
00:01:54,799 –> 00:01:58,640
فرآیند تولید توکن را ساده کند
47
00:01:58,640 –> 00:02:00,399
و شما می توانید کد منبع را در
48
00:02:00,399 –> 00:02:03,920
پیوند در توضیحات زیر پیدا کنید،
49
00:02:06,000 –> 00:02:09,199
بنابراین از ماژول ms graph
50
00:02:09,199 –> 00:02:11,360
من می خواهم وارد کنم. تابع و
51
00:02:11,360 –> 00:02:14,080
تابع به نام ایجاد نشانه دسترسی نامیده می شوند،
52
00:02:14,080 –> 00:02:17,360
53
00:02:18,480 –> 00:02:20,800
بنابراین برای تولید نشانه دسترسی، باید
54
00:02:20,800 –> 00:02:25,040
شناسه برنامه را ارائه
55
00:02:25,520 –> 00:02:28,959
دهیم و شناسه برنامه را می گیریم،
56
00:02:29,840 –> 00:02:34,160
سپس باید محدوده هایی را مشخص کنیم که
57
00:02:34,160 –> 00:02:36,720
دو محدوده اولی را ارائه خواهم کرد.
58
00:02:36,720 –> 00:02:41,680
دامنه مرد 1 خواهد بود
59
00:02:43,120 –> 00:02:45,040
و دیگری مذکر خواهد بود
60
00:02:45,040 –> 00:02:47,920
که دامنه را به درستی می خواند،
61
00:02:47,920 –> 00:02:50,959
اکنون در اینجا نشانه دسترسی را تولید می کنیم،
62
00:02:50,959 –> 00:02:53,599
بنابراین من نشانه دسترسی خروجی را نام می
63
00:02:53,599 –> 00:02:56,480
64
00:02:56,879 –> 00:02:58,959
برم سپس دسترسی تولید را وارد می کنم.
65
00:02:58,959 –> 00:03:00,879
تابع توکن
66
00:03:00,879 –> 00:03:05,360
و این تابع شناسه برنامه
67
00:03:05,360 –> 00:03:08,400
و دامنهها را
68
00:03:11,840 –> 00:03:13,599
کاملاً درست میگیرد، بنابراین اگر من ادامه دهم و این
69
00:03:13,599 –> 00:03:16,840
بلوک کد
70
00:03:19,599 –> 00:03:21,680
را اجرا کنم و از من بخواهد
71
00:03:21,680 –> 00:03:24,239
حسابم را احراز هویت کنم
72
00:03:28,319 –> 00:03:30,400
و وقتی حسابم را تأیید کردم، میتوانم
73
00:03:30,400 –> 00:03:33,799
تب را
74
00:03:33,840 –> 00:03:35,599
در این مرحله ببندم. من مولد نشانه دسترسی خود را
75
00:03:35,599 –> 00:03:38,159
76
00:03:39,599 –> 00:03:41,680
دارم اکنون میخواهم دو تابع ایجاد کنم، بنابراین
77
00:03:41,680 –> 00:03:44,239
اجازه دهید به بالا برگردم
78
00:03:44,239 –> 00:03:46,480
و این تابع
79
00:03:46,480 –> 00:03:50,640
پیوست را در یک شیء پیوست ذخیره میکند،
80
00:03:50,640 –> 00:03:52,879
اکنون پیوست پیشنویس تابع را نامگذاری کنید
81
00:03:52,879 –> 00:03:55,280
82
00:03:55,280 –> 00:03:57,040
و برای پارامتری
83
00:03:57,040 –> 00:04:01,840
که میخواهیم بپرسیم. برای مسیر فایل
84
00:04:02,000 –> 00:04:03,680
کاملاً درست است، بنابراین در داخل تابع
85
00:04:03,680 –> 00:04:05,840
میخواهم بررسی کنم که آیا فایل وجود دارد یا نه،
86
00:04:05,840 –> 00:04:06,959
87
00:04:06,959 –> 00:04:10,000
بنابراین میخواهم بگویم آیا وجود ندارد یا آن
88
00:04:10,000 –> 00:04:12,480
مسیر وجود دارد و اگر شرط وجود داشته
89
00:04:12,480 –> 00:04:15,519
باشد، مسیر فایل را
90
00:04:15,519 –> 00:04:18,959
میدهم، سپس میدانیم
91
00:04:18,959 –> 00:04:22,160
فایل پیدا نشد،
92
00:04:22,400 –> 00:04:25,600
سپس از تابع خارج
93
00:04:26,240 –> 00:04:27,280
94
00:04:27,280 –> 00:04:30,080
میشویم، در غیر این صورت شی ضمیمه را ایجاد
95
00:04:30,080 –> 00:04:31,840
میکنیم، بنابراین
96
00:04:31,840 –> 00:04:34,639
یک فایل
97
00:04:35,520 –> 00:04:38,479
با نام سه باز میکنیم
98
00:04:38,479 –> 00:04:41,759
و نام آن را آپلود
99
00:04:41,759 –> 00:04:43,600
میگذارم، در واقع ما میخواهیم
100
00:04:43,600 –> 00:04:46,400
فایل را به اوه توسط استریم ها،
101
00:04:46,400 –> 00:04:50,080
بنابراین من به space64 libr می روم تابع رمزگذاری ary da
102
00:04:50,080 –> 00:04:50,800
b
103
00:04:50,800 –> 00:04:52,320
64
104
00:04:52,320 –> 00:04:54,240
105
00:04:54,240 –> 00:04:56,160
سپس فایل را با استفاده
106
00:04:56,160 –> 00:04:56,840
از
107
00:04:56,840 –> 00:05:00,240
روش upload.ring تهیه می
108
00:05:00,720 –> 00:05:05,199
کنم و محتوای رسانه خروجی را نام می
109
00:05:05,600 –> 00:05:07,919
برم اکنون گزینه پیوست خود را می سازم
110
00:05:07,919 –> 00:05:09,039
111
00:05:09,039 –> 00:05:13,039
و اساساً یک بدنه json درخواست
112
00:05:13,039 –> 00:05:18,160
است. نام بدنه داده json را
113
00:05:19,120 –> 00:05:21,360
در داخل گزینه داده بدنه قرار می دهم، اجازه دهید
114
00:05:21,360 –> 00:05:23,759
کمی به پایین اسکرول
115
00:05:23,759 –> 00:05:26,320
کنم، باید نوع درخواست را
116
00:05:26,320 –> 00:05:28,080
با استفاده از نوع add
117
00:05:28,080 –> 00:05:31,520
odata dot مشخص کنیم
118
00:05:31,520 –> 00:05:34,320
و نام نوع به صورت پوند
119
00:05:34,320 –> 00:05:36,160
120
00:05:36,160 –> 00:05:37,680
گراف مایکروسافت
121
00:05:37,680 –> 00:05:40,880
آن پیوست فایل خواهد بود
122
00:05:40,880 –> 00:05:42,320
و مطمئن شوید که
123
00:05:42,320 –> 00:05:45,600
حرف a بزرگ است،
124
00:05:45,600 –> 00:05:48,320
سپس باید رشته های by را
125
00:05:48,320 –> 00:05:50,800
با استفاده از
126
00:05:50,800 –> 00:05:53,840
خاصیت شمارش بایت ها وصل
127
00:05:54,639 –> 00:05:57,520
کنیم و این رمزگشایی نقطه محتوای رسانه است
128
00:05:57,520 –> 00:05:59,919
، باید این را به
129
00:05:59,919 –> 00:06:02,919
utf-8 تبدیل کنیم
130
00:06:05,520 –> 00:06:07,520
و آخرین موردی که قرار است ارائه کنم این
131
00:06:07,520 –> 00:06:10,240
است نام فایل
132
00:06:10,880 –> 00:06:12,880
و برای نام فایل، من به سادگی
133
00:06:12,880 –> 00:06:15,680
میخواهم نام پایه فایل را
134
00:06:15,680 –> 00:06:18,840
با استفاده از تابع نام پایه نقطه os.path بگیرم،
135
00:06:18,840 –> 00:06:23,360
سپس مسیر فایل را وارد میکنم،
136
00:06:24,560 –> 00:06:26,479
سپس
137
00:06:26,479 –> 00:06:29,280
بدنه json را
138
00:06:30,240 –> 00:06:31,600
کاملاً درست میفرستم، بنابراین اجازه دهید بروم. جلو و
139
00:06:31,600 –> 00:06:34,639
یک تابع در حافظه ایجاد کنید و
140
00:06:34,639 –> 00:06:37,440
اکن