मेरे पास एक आउटलुक ऐड है जो ऑफिस जावास्क्रिप्ट एपीआई का उपयोग करके विकसित किया गया था। यह बनाए जा रहे नए ईमेल को देखता है और इस पर आधारित चीजें करता है कि यह किसके पास जा रहा है: https://docs.microsoft.com/en-us/office/dev/add-ins/reference/objectmodel/requirement-set- 1.3/office.context.mailbox.item

  • जब आप सुझाई गई ईमेल सूची से ईमेल का 'चयन' करते हैं तो कोड सही ढंग से TO ईमेल लौटाता है... इस थ्रेड के नीचे @ दिखाया गया स्क्रीनशॉट

  • जावास्क्रिप्ट को डीबग करने के लिए, मैं C:\Windows\SysWOW64\F12\IEhooser.exe का उपयोग करता हूं

  • यह पिछले सप्ताह तक ठीक काम कर रहा था। क्या यह संभव है कि विंडोज अपडेट ने कार्यक्षमता को तोड़ दिया?

  • मैं कोड तक पहुंच रखने वाला एकमात्र व्यक्ति हूं। इसे महीनों से संशोधित नहीं किया गया था।
  • जब डीबगर चल रहा हो, तो getAsync सही ढंग से 'TO' मान लौटाता है। डीबग में नहीं होने पर मूल्यों को 'अपरिभाषित' साबित करने के लिए मुझे वैश्विक चर के प्रति प्रतिक्रिया लिखने की आवश्यकता थी।

var resultObjects;
var resultObjects2;
var strMessages = '';
var strTo = '';

var mailbox;
var mailitem;

(function () {
    "use strict";

    // The Office initialize function must be run each time a new page is loaded.
    Office.initialize = function (reason) {
        $(document).ready(function () {

            mailbox = Office.context.mailbox;
            mailitem = mailbox.item;

            mailitem.to.getAsync(function (result) {
                if (result.status === 'failed') {
                    strMessages = 'FAILED';
                } else {
                    strMessages = 'SUCCESS';
                    strTo = result.value[0];
                    resultObjects = result;
                    resultObjects2 = result.value;
                }
            });

            loadApp();
        });
    };
})();

यहां वेरिएबल के मान दिए गए हैं, जब ऐप लोड हो रहा है और डीबगर नहीं चल रहा है

enter image description here


संपादित करें


यदि आप TO ईमेल को 'चयन' करते हैं ताकि वह बोल्ड हो जाए... कोड सही ढंग से काम करता है। यदि आप सुझाए गए ईमेल का चयन किए बिना टाइप-इन-टेक्स्ट फ़ील्ड छोड़ देते हैं, तो यह काम नहीं करता है। आउटलुक वेब एप्लिकेशन (@ https://outlook.office.com) और दोनों के लिए समान व्यवहार सही है। डेस्कटॉप आउटलुक एप्लिकेशन।

काम नहीं करता यहां छवि विवरण दर्ज करें

काम करता है यहां छवि विवरण दर्ज करें

0
adam 12 जून 2019, 16:38

1 उत्तर

सबसे बढ़िया उत्तर

Office.context.mailbox.item.to.getAsync API केवल हल किए गए प्राप्तकर्ताओं को लौटाएगा। यदि TO ईमेल पता हल नहीं होता है (जैसा कि "काम नहीं करता" शीर्षक वाले पहले स्क्रीनशॉट में है), तो API ईमेल पते को तब तक वापस नहीं करेगा जब तक कि इसका समाधान नहीं हो जाता (डेस्कटॉप और OWA दोनों में)।

आप RecipientsChanged Event, to.getAsync के लिए पूछे जाने के बाद नए हल किए गए प्राप्तकर्ताओं को प्राप्त करने के लिए। जब कोई प्राप्तकर्ता नया हल किया जाता है तो यह ईवेंट सक्रिय हो जाएगा।

1
Outlook Add-ins Team - MSFT 13 जून 2019, 00:02