6

tl; drSet CustomProperties về việc bổ nhiệm cho tất cả những người tham dự

Khi cài đặt CustomProperties đến một cuộc hẹn có người tham dự, chỉ có việc bổ nhiệm cho các tổ chức nhận được CustomProperties. Các tài sản không tuyên truyền cho các cuộc hẹn của những người tham dự khác.


dài hơn phiên bản

Khi chúng ta tạo ra một cuộc hẹn với nhiều người tham dự và sau đó đăng nhập như là mỗi người tham dự, chúng tôi nhận thấy rằng mỗi ItemId là khác nhau. Vì vậy, nó xuất hiện mà mỗi người tham dự trong một cuộc họp được bản sao của riêng họ của một cuộc hẹn. (Thực sự muốn ai đó xác nhận điều này là đúng).

Tuy nhiên, khi đặt thuộc tính tùy chỉnh từ bổ trợ của chúng tôi (sử dụng API Outlook JavaScript), chỉ cuộc hẹn của người tổ chức mới nhận được thuộc tính tùy chỉnh vì chúng tôi không thể xem thuộc tính tùy chỉnh khi chúng tôi đăng nhập người tham dự.

Snippets từ mã của chúng tôi đó là có liên quan:

Office.initialize = function (reason) { 
    $(document).ready(function() { 
     Office.context.mailbox.item.loadCustomPropertiesAsync (onCustomPropertiesLoaded); 
    }); 
}; 

function onCustomPropertiesLoaded(asyncResults) { 
    _customProps = asyncResults.value; 
} 

//Set custom properties 
_customProps.set("myProp", "true"); 
_customProps.saveAsync(customPropertiesOnSaved); 

Có cách nào để có mỗi bản sao của việc bổ nhiệm có thuộc tính tùy chỉnh?

Trả lời

3

Khi chúng ta tạo ra một cuộc hẹn và có nhiều người tham dự và sau đó đăng nhập như là mỗi người tham dự, chúng tôi nhận thấy rằng mỗi ItemID là khác nhau. Vì vậy, nó xuất hiện mà mỗi người tham dự trong một cuộc họp được bản sao của riêng họ của một cuộc hẹn. (Thực sự muốn ai đó xác nhận điều này là đúng).

Vâng đúng là bản sao người tham dự cuộc hẹn là một mục mới riêng biệt trong hộp thư đó. Trên máy chủ Exchange, một mục Mailbox Store riêng biệt không được liên kết theo bất kỳ cách nào (các thuộc tính khác có thể được sử dụng để tương quan với chúng) và máy chủ không cập nhật các cuộc hẹn trong hộp thư của người tham dự để chúng luôn được cập nhật bởi khách hàng quá trình (trong trường hợp của hộp thư phòng hộp thư trợ lý thực hiện điều này nhưng đây vẫn là một quá trình khách hàng chạy trên máy chủ).

Tuy nhiên, khi thiết lập một tài sản tuỳ chỉnh từ add-in của chúng tôi, chỉ hẹn của tổ chức nhận tài sản tùy chỉnh như chúng ta không thể nhìn thấy tài sản tùy chỉnh khi chúng ta đăng nhập như bất kỳ của những người tham dự khác.

Đó rất có thể xảy ra bởi vì bạn cần phải đầu tiên lưu các thuộc tính tùy chỉnh về việc bổ nhiệm trước khi bạn thêm bất kỳ người tham dự và gửi thông báo mời họp. Trước tiên bạn phải lưu cuộc hẹn với thuộc tính (hoặc tệp đính kèm) trước khi thêm bất kỳ người tham dự nào, sau đó khi máy chủ tạo lời mời, những lời mời đó sẽ bao gồm thuộc tính tùy chỉnh (bạn có thể kiểm tra điều đó đang xảy ra bằng cách sử dụng trình chỉnh sửa Mapi và xem lời mời được tạo ra trong thư mục Sent Items của Organizer). Điều quan trọng cần nhớ là các cuộc hẹn không được liên kết trên máy chủ đang cập nhật thuộc tính trên trình tổ chức sẽ không được phản ánh trên bản sao người tham dự trừ khi bạn gửi bản cập nhật Cuộc họp và cập nhật Cuộc họp sau đó sẽ được người tham dự chấp nhận. lịch.

+0

Chúng tôi đang chạy trong ngữ cảnh bổ trợ, vì vậy chúng tôi không thể kiểm soát khi người tham dự được thêm vào lời mời.Khi người dùng nhấp vào một nút trong bổ trợ của chúng tôi, chúng tôi sẽ đặt thuộc tính tùy chỉnh 'customProps.set (" myCustomProp ", true);' và sau đó lưu thuộc tính vào cuộc hẹn 'customProps.saveAsync (gọi lại)'. Tôi không chắc chắn những gì khác chúng tôi có quyền truy cập vào đó sẽ có được các thuộc tính tùy chỉnh vào mỗi lời mời. –

+0

Có nhưng bạn cần phải hiểu rằng những gì bạn đang làm sẽ chỉ cập nhật mục lưu trữ của người dùng mà bạn truy cập. Bạn có thể cần phải suy nghĩ lại về thiết kế của bạn, ví dụ bạn đang thêm thông tin gì vào thuộc tính tùy chỉnh? và bạn sử dụng nó như thế nào ở những người tham dự? . Một thay thế cho thuộc tính tùy chỉnh là nếu bạn lấy UniquieId cho cuộc họp được chia sẻ trên tất cả các trường hợp, hãy tạo dịch vụ Rest bên ngoài sẽ lưu trữ thông tin bạn muốn và sau đó thực hiện truy vấn Addin của bạn rằng dịch vụ bên ngoài sử dụng uniqueId làm khóa ... –

Các vấn đề liên quan