Office365 এর থেকে বৈঠকের আমন্ত্রণগুলি কীভাবে পাবেন, যাতে সেগুলি পার্স করা যায় এবং একটি ক্যালেন্ডারে যুক্ত করা যায়?


10

কীভাবে আইক্যালেন্ডার (.ics বা .ical) মিটিং আমন্ত্রণগুলি আউটলুক.অফিস 365.com থেকে পাবেন, যাতে সেগুলি পার্স করা যায় এবং একটি ক্যালেন্ডারে যুক্ত করা যায় (যেমন রিমাইন্ড + ওয়াইর্ড)?

আমি উত্তরের জন্য দীর্ঘ এবং কঠোর অনুসন্ধান করেছি, কিন্তু কোন সন্ধান পাইনি, তাই আমি ভাবছি যে আমি যদি সত্যিই তুচ্ছ কিছু অনুভব করছি missing

আমি ফেডোরা 20 (হাইসেনব্যাগ) -এ অফলাইনআইএমএপি 6.5.5 এর সাথে 1.5-22 মুট ব্যবহার করছি।

আইক্যালেন্ডার বার্তাগুলি ফর্ম্যাটে পার্স করার জন্য অনেকগুলি স্ক্রিপ্ট রয়েছে যা ক্যালেন্ডারে আমদানি করা যায়। এই না আমার সমস্যা। আমার সমস্যাটি হ'ল আমি এমনকি আইক্যালেন্ডার বার্তাও পাচ্ছি না, সুতরাং পার্স করার মতো আমার কিছুই নেই।

একটি বৈঠকের আমন্ত্রণটি আমার ইনবক্সে বেস 64 এনকোডযুক্ত পাঠ্য / এইচটিএমএল বার্তা হিসাবে উপস্থিত হয়। এটা না একটি বহু-অংশযুক্ত বার্তা ও আছে কোনো সংযুক্তি । বার্তাটির শিরোনামে মাইক্রোসফ্ট আউটলুক ওয়েব অ্যাক্সেস (ওডাব্লুএ) এর লিঙ্ক রয়েছে। লিঙ্কটি অনুসরণ করা আমাকে ওয়েবমাইলে নিয়ে যাওয়া ছাড়া আর কিছুই করবে বলে মনে হয় না। ইমেলের মূল অংশে সভাটির আমন্ত্রণের বিবরণ রয়েছে।

আমি আমন্ত্রণটিকে অগ্রগামী করার জন্য এবং আমন্ত্রণটিকে সংযুক্তি হিসাবে ফরোয়ার্ড করার চেষ্টা করেছি, কিন্তু এর কোনওটিই বার্তার বিন্যাসকে প্রভাবিত করে না।

আমি বার্তাটির শিরোনামগুলি পরিদর্শন করেছি, তবে কিছুই গুরুত্বপূর্ণ হিসাবে প্রকাশিত হয়নি। আমি এগুলি এখানে অনুলিপি করেছি, যদি তারা কারও কাছে কিছু বোঝায়:

Received: from [...] by [...] with Microsoft SMTP Server (TLS) id
        [...] via Mailbox Transport; [timestamp]
Received: from [...] by [...] with Microsoft SMTP Server (TLS) id
        [...]; [timestamp]
Received: from [...] by [...] with Microsoft SMTP Server (TLS) id
        [...]; [timestamp]
Received: from [...] by [...] with mapi id [...]; [timestamp]
From: [meeting organiser]
To: [meeting attendees]
Subject: [meeting subject]
Thread-Topic: [meeting subject]
Thread-Index: [...]
Sender: [sender on behalf of meeting organiser]
Date: [timestamp]
Message-ID: <[...]>
Accept-Language: en-US
Content-Language: en-US
X-MS-Exchange-Organization-AuthAs: Internal
X-MS-Exchange-Organization-AuthMechanism: 03
X-MS-Exchange-Organization-AuthSource: [...]
X-MS-Has-Attach:
X-MS-Exchange-Organization-SCL: -1
X-MS-TNEF-Correlator:
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0

আমি ওয়েবমাইলে বার্তার শিরোনামগুলিও পরিদর্শন করেছি। আরও শিরোনাম ছিল (কিছু টেনিফ সম্পর্কিত) তবে আবার কিছুই ক্যালেন্ডার বা আমন্ত্রণ সম্পর্কিত বলে মনে হয়নি।

আমি একটি "ইমেল আমন্ত্রণ" শিরোনামকে একটি সাধারণ ইমেলের শিরোনামের সাথে তুলনা করি। পার্থক্যটি ছিল কেবলমাত্র একটি সাধারণ ইমেলটিতে একটি অতিরিক্ত শিরোনাম থাকে: "এক্স-অটো-প্রতিক্রিয়া-দমন: ডিআর, আরএন, এনআরএন, ওএফ, অটোরেপ্লি"।

আমার .offlineimaprc এর ফোল্ডার ফিল্টারটি ক্যালেন্ডার ফোল্ডার সিঙ্ক করার জন্য সেট করা আছে। এটি কারণ কারণ প্রতিবার অফলাইনআইএমএপ সিঙ্ক করার চেষ্টা করেছিল, ক্যালেন্ডার ফোল্ডার সিঙ্ক করার সময় এটি একই ত্রুটির একশটিরও বেশি উদাহরণে ছড়িয়ে পড়ে: "ত্রুটি: আইএমএপি সার্ভারের 'রিমোট' ইউআইডি'র সাথে একটি বার্তা নেই '[...]' । "

ক্যালেন্ডার ফোল্ডারটি পরিদর্শন করতে পাইথনের ইমপ্লেব ব্যবহার:

>>> import imaplib
>>> i = imaplib.IMAP4_SSL("outlook.office365.com", 993)
>>> i.login("NAME@COMPANY.com", "PASSWORD")
('OK', ['LOGIN completed.'])
>>> i.select("Calendar")
('OK', ['159'])
>>> i.fetch(159, "(RFC822)")
('OK', [None])
>>> i.fetch(159, "(RFC822)")

দ্বিতীয়বার যখন আমি আনতে ডাকি তখন এটি একটি বার্তা দেয়: "সার্ভারটি নিম্নলিখিত বার্তাটি পুনরুদ্ধার করতে পারেনি The বার্তাটি মুছে ফেলা হয়নি Out আপনি আউটলুক বা আউটলুক ওয়েব অ্যাপ্লিকেশন ব্যবহার করে এটি দেখতে সক্ষম হতে পারেন You এছাড়াও আপনি যোগাযোগ করতে পারেন প্রেরকটি কী বার্তা বলে তা সন্ধান করার জন্য।

ওয়েবমাইলে, আমি দেখতে পাচ্ছি যে ক্যালেন্ডার ফোল্ডারে (ক্যালেন্ডার ট্যাবের মাধ্যমে অ্যাক্সেসযোগ্য) বাহ্যিক প্রতিষ্ঠানের দৃশ্যমানতার জন্য অনুমতি রয়েছে । এটি বর্তমানে "ভাগ করা নেই" তে সেট করা আছে। অন্যান্য বিকল্পগুলি হ'ল "কেবলমাত্র উপলভ্যতা", "সীমাবদ্ধ বিশদ" বা "সম্পূর্ণ বিবরণ"। "সম্পূর্ণ বিবরণ" এ অনুমতিগুলি সেট করা এবং তার পরে আমার কাছে একটি সভার আমন্ত্রণ প্রেরণ মিটিং আমন্ত্রণের বিন্যাসে কোনও প্রভাব ফেলেনি।

আইক্যালেন্ডার বার্তাটি না পাওয়ার জন্য একটি কাজ হিসাবে, আমার কাছে বজ্রের অ্যাড-অন দিয়ে থান্ডারবার্ড খোলা আছে। কোনওভাবে, বজ্র অ্যাড-অন জানে কীভাবে সভাগুলির আমন্ত্রণগুলি গ্রহণ করতে হয়। বার্তাগুলি এখনও পাঠ্য / এইচটিএমএল হিসাবে প্রদর্শিত হয় তবে থান্ডারবার্ডের স্ট্যাটাস বারে একটি লিঙ্ক রয়েছে। এটিতে ক্লিক করা আমন্ত্রণটি অস্বীকার করবে বা গ্রহণ করবে কিনা তা জানতে একটি প্রম্পট খোলে।

কারও কি ধারণা আছে যে কেন আউটলুক 365 থেকে আমন্ত্রণগুলি পূরণ করা আইক্যালেন্ডার বার্তাগুলির চেয়ে সাধারণ পাঠ্য / এইচটিএমএল বার্তা হিসাবে উপস্থিত হচ্ছে? আমি কি কিছু করতে পারি? যদি বজ্র অ্যাড-অন আমন্ত্রণগুলি নিয়ে কাজ করতে পারে তবে অবশ্যই একটি সমাধান থাকতে হবে যেমন মাইক্রোসফ্ট এক্সচেঞ্জ ওয়েব সার্ভিসেস (ইডাব্লুএস) ব্যবহার করা। যদি সমাধানটির জন্য আমার কোনও সরঞ্জাম কোড করা প্রয়োজন, তাই এটি হোন। সঠিক দিকের একটি ধাক্কা প্রশংসা করা হবে।


এই লিঙ্কটি সহায়ক হতে পারে: ব্লগস.টেকনেট বি
বিটিমকিমিক

1
@ এসইওএফ আমি আপনার উত্তরটিকে একটি মন্তব্যে রূপান্তর করেছি যে লিঙ্কটি আপনি উল্লেখ করেছেন giving যেহেতু আপনার উত্তরের বাক্যগুলি আপনার পক্ষে কী কাজ করে না তা ব্যাখ্যা করছিল, তাই আমি এটি মুছে ফেলেছি। দয়া করে কেবলমাত্র এমন উত্তর পোস্ট করুন যা কোনও সমস্যার সমাধান করার জন্য আসলে ব্যাখ্যা করে, বাইরের সংস্থাগুলির লিঙ্কগুলিকে উত্তর হিসাবে বিবেচনা করা হয় না।
টেরডন

উত্তর:


3

আপনি এটি সেট করতে পারেন যাতে অফিস 365 / আউটলুক ওয়েব ইন্টারফেসের মাধ্যমে আইক্যালেন্ডার ফর্ম্যাটে ফর্ম্যাট করা আমন্ত্রণগুলি প্রেরণ করে।

  1. আপনার অফিসে 365 অ্যাকাউন্টে লগইন করুন
  2. মেল অ্যাপ খুলুন (আউটলুক)
  3. উপরের ডানদিকে কোণায় গিয়ার আইকনটি চাপুন (সেটিংস)
  4. অনুসন্ধান বাক্সে "ইম্যাপ" টাইপ করুন
  5. "পপ এবং IMAP" নির্বাচন করুন
  6. নীচে POP এবং / অথবা IMAP এর জন্য "আইক্যালেন্ডার ফর্ম্যাটে ইভেন্টের আমন্ত্রণগুলি প্রেরণ করুন" নির্বাচন করুন।
  7. "সংরক্ষণ করুন" টিপুন

আপনার এখন আইক্যালেন্ডার ফর্ম্যাটে সমস্ত আমন্ত্রণ পাওয়া উচিত।


রফতানির প্রোগ্রামটি মনে করিয়ে দেওয়ার জন্য আমার নিজের দৃষ্টিভঙ্গি ক্যালেন্ডারে লিখিত ইমেল সংযুক্তিগুলির সাথে কাজ করার চেষ্টা করে ক্লান্ত হয়ে পড়েছিলাম। এটি সরাসরি Office-365 এপিআই কল করে এবং ফর্ম্যাট করা এন্ট্রিগুলি সহ বিভিন্ন জিনিস আউটপুট করতে পারে। এর নাম আইহল (আমি ঘৃণা করলাম আউটলুক) .. github.com/eikenb/ihol
জন

1

এসইওএফ প্রদত্ত লিঙ্কটি একটি দুর্দান্ত পরামর্শ। আমার মতে ব্লগ পোস্টটি অসম্পূর্ণ, তবে এটি আমাকে সঠিক ট্র্যাকটিতে শুরু করেছিল। আমি আরও কিছু খনন করেছি এবং অফিসে 365 পেয়ে আমাকে আইক্যালেন্ডার (.ics) ফর্ম্যাটে সাক্ষাত্কার আমন্ত্রণগুলি পাঠানোর জন্য পদক্ষেপের সম্পূর্ণ তালিকা নিয়ে এসেছি।

নোট করুন যে আমি প্রশাসক নই এবং আমাকে কোনও সুযোগ সুবিধা দেওয়ার জন্য আমার কারও সাথে যোগাযোগ করার প্রয়োজন ছিল না। একমাত্র সতর্কতা হ'ল আপনার একটি উইন্ডোজ বাক্সে অ্যাক্সেস দরকার। একবার আপনি উইন্ডোজ মাধ্যমে সেটিংস পরিবর্তন করে আপনি আগের যে কোনও ওএস ব্যবহার করছেন তা ব্যবহার করে ফিরে যেতে পারেন। উইন্ডোজ 7 ব্যবহার করে সাধারণ ব্যবহারকারী হিসাবে আমি নিজের থেকে নিম্নলিখিতটি করেছি:

  1. মাইক্রোসফ্ট .NET ফ্রেমওয়ার্ক 4.5 ডাউনলোড করুন এবং ইনস্টল করুন http://www.microsoft.com/en-us/download/details.aspx?id=30653 থেকে ।
  2. Http://www.microsoft.com/en-us/download/details.aspx?id=40855 থেকে উইন্ডোজ ম্যানেজমেন্ট ফ্রেমওয়ার্ক 4.0 (উইন্ডোজ 6.1-KB2819745-x64-MultiPkg.msu) ডাউনলোড এবং ইনস্টল করুন
  3. প্রশাসক হিসাবে পাওয়ারশেল চালান।
  4. সেট-এক্সিকিউশনপলিসি-এক্সিকিউশনপলিসি রিমোটসাইনড
  5. C ব্যবহারকারীর নাম = গেট-ক্রেডেনশিয়াল
    • আপনার ইমেল ঠিকানা ও পাসওয়ার্ড লিখুন।
  6. Ession অধিবেশন = নতুন-পিএসএসশন-কনফিগারেশননাম মাইক্রোসফ্ট। এক্সচেঞ্জ-কনসেকশনউরি https://outlook.office365.com/powershell-liveid/ -Credential $ ব্যবহারকারীস্রাব্দ-প্রমাণীকরণ মৌলিক -প্রশিক্ষণ
  7. $ ImportResults = আমদানি-পিএসএসশন $ সেশন
  8. সিএএস-মেলবক্স-প্রাপ্যতা YOUR@EMAIL.ADDRESS | পান বিন্যাস-তালিকা
  9. সেট-সিএএসমেলবক্স-প্রাপ্যতা YOUR@EMAIL.ADDRESS -পপউসপ্রোটোকল ডেফাল্টস: $ মিথ্যা -আইমাপপস پروটোকলডেফাল্টস: AL মিথ্যা -পপফোরসিক্যালফোর্ডক্যালেন্ডার পুনরুদ্ধার বিকল্প: UE সত্য -আইম্যাপফোরসিক্যাল ফর ক্যালেন্ডার ট্র্যাক্টরিয়াল বিকল্প: ption
  10. সরিয়ে ফেলুন-পিএসএসশন $ সেশন
  11. সেট-এক্সিকিউশনপলিসি-এক্সিকিউশন পলিসি সীমাবদ্ধ

এখন, লিনাক্সে আমার মুট আইক্যালেন্ডার (.ics) ফর্ম্যাটে মিলিত আমন্ত্রণগুলি পুনরুদ্ধার করছে।


এটি পুরোপুরি কাজ করে। বিস্তারিত নির্দেশাবলীর জন্য আপনাকে ধন্যবাদ।
জেসন ডে

0

ওপি যা বলেছিল ঠিক তা নয়, তবে যদি তৃতীয় পক্ষের যুক্তি মঞ্জুরিপ্রাপ্ত হয় তবে চমত্কার এক্সচেঞ্জলিব (পাইথন) দেখুন। পরবর্তী 3 মাসের জন্য ইভেন্টগুলি আনার দ্রুত পিআই 3 উদাহরণ (পুনরাবৃত্ত আইটেমগুলি প্রসারিত করা হয়েছে তা নোট করুন):

import arrow  # not required, but highly recommended lib for time processing
import base64
from tzlocal import get_localzone
from subprocess import call

from exchangelib import DELEGATE, Account, Credentials, EWSDateTime

CREDENTIALS = Credentials(username='mymail@company.com', password='topsecret')
ACCOUNT = Account(primary_smtp_address='mymail@company.com', credentials=CREDENTIALS,
                autodiscover=True, access_type=DELEGATE)

def sanitize(p):
    '''some .ical files didn't have proper end:vcalendar closure'''
    end = 'END:VCALENDAR\n'
    s = base64.b64decode(p).decode().replace("\r\n", "\n")
    if not s.endswith(end):
        s += end

    return s

tz = get_localzone()
now = arrow.now()
upper_limit = now.replace(months=+3)
items = ACCOUNT.calendar.view(
    start=tz.localize(EWSDateTime(now.year, now.month, now.day)),
    end=tz.localize(EWSDateTime(upper_limit.year, upper_limit.month, upper_limit.day)),
)

cals = []  # list of .ical files' contents
for item in items:
    cals.append(sanitize(item.mime_content))

আরেকটি ভাল গ্রন্থাগার হ'ল github.com/Narcolapser/python-o365
জন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.