۳۰ شهریور ۱۴۰۳

Techboy

اخبار و اطلاعات روز تکنولوژی

ارسال ایمیل Outlook و پیام های Teams با R

بسته Microsoft365R اتصال R را با Outlook، Teams، OneDrive و SharePoint آسان می کند. بیایید با Outlook و Teams شروع کنیم.

بسته Microsoft365R اتصال R را با Outlook، Teams، OneDrive و SharePoint آسان می کند. بیایید با Outlook و Teams شروع کنیم.

اگر داده ها را در R تجزیه و تحلیل می کنید و اطلاعات را از طریق Microsoft 365 به اشتراک می گذارید، یک خبر خوب دارم: یک راه آسان برای اتصال R با Outlook، Teams، OneDrive و SharePoint وجود دارد. بسته Microsoft365R R که توسط تیم Microsoft Azure توسعه یافته است، شامل عملکردهایی برای کار با APIهای Microsoft 365 از R. 

در اینجا نحوه ارسال ایمیل Outlook و پیام‌های Teams با R را توضیح خواهیم داد.

Microsoft365R در CRAN موجود است، بنابراین می‌توانید آن را با install.packages ("Microsoft365R") نصب کنید.

R را برای کار با Outlook تأیید کنید

اولین قدم این است که R را برای کار با حساب خود تأیید کنید. عملکرد آن به سرویس Microsoft 365 و اینکه در یک حساب تجاری یا شخصی است بستگی دارد.

برای مجوز دادن به یک حساب Outlook سازمانی، برای مثال، بسته Microsoft365R را بارگیری کنید و سپس از تابع get_business_outlook() آن استفاده کنید:

library(Microsoft365R)
my_outlook <- get_business_outlook()

در کد بالا، یک شیء جدید my_outlook از کلاس ms_outlook ایجاد می‌کنم.

اگر از یک حساب شخصی Outlook استفاده می‌کنید، به جای آن از تابع get_personal_outlook() استفاده کنید.

ممکن است با حساب کاری خود با مشکل مواجه شوید و خطای مشاهده کنید که احراز هویت به دلیل خط‌مشی‌های پیکربندی شده توسط سرپرست شما انجام نشد. Vignette احراز هویت Microsoft365R پیشنهاداتی در مورد نحوه برخورد با این موضوع دارد. می‌توانید با اجرای تابع پایه R vignette vignette("auth", package = "Microsoft365R")، خط مشی را مشاهده کنید.

این خط مشی با چند توصیه مفید به صفحه دیگری پیوند می‌خورد.

توصیه شامل شناسه برنامه Microsoft365R برای استفاده برای احراز هویت است

توصیه‌هایی برای رسیدگی به مشکلات احراز هویت Microsoft365R.

این شناسه برنامه پررنگ، شناسه رسمی برنامه مایکروسافت است. گاهی اوقات افزودن آن به عنوان آرگومان به تابع احراز هویت به تأیید کمک می کند:

my_outlook <- get_business_outlook(app = "d44a05d5-c6a5-4bbb-82d2-443123722380")

برای تکرار: آن شناسه برنامه به طور خاص چیزی از تنظیمات من نیست. این شناسه رسمی برنامه مایکروسافت است. (و اگر کسی از بخش فناوری اطلاعات شما در این مورد سؤال کند، می‌توانید صادقانه توضیح دهید که توصیه‌ها از مستندات تیم Azure خود مایکروسافت آمده است.)

چگونه مایکروسافت از راهنماها برای هدایت توسعه منبع باز استفاده می کند

اگر احراز هویت کار کند، یک پنجره مرورگر ظاهر می‌شود که از شما می‌خواهد وارد حساب Microsoft خود شوید و برنامه شما با موفقیت احراز هویت می‌شود.

ارسال ایمیل Outlook با R

کارهای زیادی می توانید با اتصال Outlook جدید خود انجام دهید، از جمله خواندن و حذف ایمیل ها. اما جالب ترین مورد برای من ارسال ایمیل است. برای انجام این کار، با ایجاد یک شی ایمیل با استفاده از روش create_mail() شی ms_outlook خود شروع کنید، مانند:

my_email <- my_outlook$create_email("Body text I want in my email", 
subject = "Email subject", to = "recipient@email.com")

هنگامی که کد ایجاد یک شی ایمیل را اجرا می کنید، یک ایمیل پیش نویس باید در پوشه Outlook Drafts ذخیره شود.

چند نحو دیگر وجود دارد که می توانید برای ایجاد ایمیل از آنها استفاده کنید. در کد زیر، نماد دلار مانند لوله ای عمل می کند تا چندین روش را به هم زنجیر کند.

my_email <- my_outlook$create_email(content_type = "html")$
set_body("<p>This is my email body <strong>with bold text</strong>.</p>")$
set_subject("My 2nd email subject")$
set_recipients(to = c("recipient1@mail.com", "recipient2@mail.com"))

کد بالا یک شی ایمیل با نوع محتوای HTML ایجاد می کند و از قالب بندی HTML در پیام استفاده می کند. همچنین شامل چندین گیرنده است. ایجاد یک شی ایمیل از این طریق همچنین پیامی ایجاد می کند که در پوشه Outlook Drafts ظاهر می شود.

پیام ایمیل Outlook از پوشه Drafts

ایمیل ایجاد شده توسط R و هنوز ارسال نشده در پوشه Outlook Drafts ظاهر می شود.

اگر Microsoft365R را با بسته blastula جفت کنید، می توانید از Markdown به جای HTML خام در متن ایمیل استفاده کنید. می توانید این کار را با بارگیری بسته blastula و سپس ذخیره مقداری Markdown به عنوان یک رشته کاراکتر R انجام دهید. در کد مثال زیر، مقداری Markdown را در متغیری به نام blastula_body_text ذخیره می‌کنم.

library(blastula)
blastula_body_text <- "This is my email body with _italics text_. As with usual markdown, **two blank lines** create a new paragraph and two asterisks bold text."

در مرحله بعد، آن رشته کاراکتری را با قالب بندی علامت گذاری به یک شی ایمیل blastula با تابع compose_email() blastula تبدیل کنید. رشته کاراکتر وارد آرگومان بدنه می شود، اما در تابع md() blastula پیچیده شده است، بنابراین compose_email() بداند Markdown در بدنه وجود دارد که باید ارائه شود.< /p>

blastula_email <- compose_email(
body = md(blastula_body_text)
)

در نهایت، یک ایمیل Outlook از ایمیل blastula ایجاد می کنید:

outlook_email_from_blastula <- my_outlook$create_email(blastula_email, 
subject = "Markdown with blastula", to = "someone@gmail.com")

در ابتدا نیاز به هر سه مرحله را کمی گیج کننده دیدم. برای خلاصه کردن گردش کار blastula-to-Outlook:

  1. علامت گذاری خود را در یک رشته کاراکتر ذخیره کنید.
  2. یک شی ایمیل blastula با compose_email() با رشته خود به عنوان اولین آرگومان پیچیده شده در md() ایجاد کنید.
  3. شئ ایمیل blastula را با create_email() به یک شی ایمیل Outlook تبدیل کنید.
شروع به کار با Google's Palm API

چند کار دیگر وجود دارد که می توانید با اشیاء ایمیل انجام دهید، مانند افزودن پیوست با روش add_attachment().

در تئوری، شما همچنین باید بتوانید تصاویر درون خطی را هنگام ارسال ایمیل خود اضافه کنید، اما من موفقیت آمیزی با آن داشتم، بنابراین هنوز نمی توانم آن را توصیه کنم. ! و در زمان نوشتن این مقاله، در حالی که مستندات Microsoft365R گفته بودند که با بسته ایمیل emayili R نیز سازگار است، من نتوانستم آن را به کار بیاندازم. به‌روزرسانی: هر دو اکنون کار می‌کنند، به لطف بازبینی بسته Microsoft365R توسط نویسنده و نگهدارنده بسته Hong Ooi.

از زمان نگارش این مقاله، باید نسخه توسعه یافته Microsoft365R را از GitHub با ریموت نصب کنید::install_github(“Azure/Microsoft365R”); همچنین emayili را از CRAN نصب کنید. یک سند R Markdown را طبق معمول بنویسید که شامل نمودارها و نمودارهای ثابت است (ویجت های HTML مبتنی بر جاوا اسکریپت کار نمی کنند). سپس فایل markdown را به یک فایل HTML با rmarkdown::render() رندر کنید.

یک شی ایمیل emayili با کدهایی مانند

ایجاد کنید

msg <- envelope(
to = "someone@gmail.com",
subject = "My subject",
html = "myfilename.html"
)

جایی که “myfilename.html” فایل HTML ارائه شده شما است.

سپس آن را به یک پیام ایمیل Outlook تبدیل کنید:

msg <- outlook$create_email(msg)

ارسال ایمیل با روش send() شی ایمیل Outlook برای هر ایمیل Outlook آسان است:

msg$send()

پیام های تیم ها را با R

ارسال کنید

پرداختن به توهمات هوش مصنوعی با نسل افزوده بازیابی

کار با تیم‌ها مشابه کار با Outlook است. با تابع get_team() احراز هویت کنید، که به نام یا شناسه یکی از تیم‌های شما نیاز دارد. مانند Outlook، این ممکن است همیشه در یک محیط سازمانی کار نکند. شناسه برنامه Microsoft خاص دیگری نیز وجود دارد – همچنین در اسناد احراز هویت Microsoft365R ارائه شده است – اگر get_team ("نام یا شناسه تیم") کار نمی‌کند، عملکرد احراز هویت را امتحان کنید: 

my_team <- get_team("Team name or ID", 
app = "04b07795-8ddb-461a-bbee-02f9e1bf7b46"))

اولین آرگومان بالا باید نام یا شناسه تیم خاصی باشد که می توانید از طریق Teams به آن دسترسی داشته باشید. آرگومان دوم، شناسه برنامه، آرگومان مایکروسافت است. همه از همین شناسه برای امتحان این روش احراز هویت استفاده می کنند.

بعد از احراز هویت، با روش get_channel() یک شئ کانال از شی تیم ایجاد کنید. کد زیر یک شی برای کانال عمومی در تیم من ایجاد می کند.

my_chan <- my_team$get_channel("General")

ارسال یک پیام متنی اولیه به یک کانال، از جمله یک پیوست در صورت تمایل، با استفاده از روش send_message() شی کانال بسیار ساده است. به عنوان مثال:

my_chan$send_message("Your upcoming weather forecast", 
attachments = "images/temperature_forecast.png")

کارکردهای احراز هویت و ارتباط مشابهی برای OneDrive و SharePoint وجود دارد که فایل‌ها را فهرست، آپلود و دانلود می‌کند. من در تأیید اعتبار با افرادی که در محل کار بودند موفقیت چندانی نداشتم، اما اتصال به حساب شخصی OneDrive بسیار آسان بود.

برای اطلاعات بیشتر در مورد بسته Microsoft365R، به مخزن بسته بروید در GitHub مایکروسافت Azure. و برای نکات R بیشتر، صفحه InfoWorld Do More With R را بررسی کنید.