go to post Tomohiro Iwamoto · Sep 1, 2022 Just curious. It looks %Net.POP3 implementation is following these.https://docs.microsoft.com/en-us/exchange/client-developer/legacy-protoc...https://docs.microsoft.com/en-us/exchange/client-developer/legacy-protoc... So once you have deviced the way to aquire and pass access token (and enable POP3 on O365 side), you are all set?
go to post Tomohiro Iwamoto · Aug 31, 2022 How about this? :-) USER>w ##class(%SYS.Python).Import("time").time() 1661966455.799232244
go to post Tomohiro Iwamoto · Aug 10, 2022 I've made such an adapters based on Jose's work. My articles, I'm afraid which is written in Japanese only, is using IMAP/SMTP against gmail as target provider but I hope it works against Office365 as well. The idea is you prepare a JSON file like this and production will pick it up when it starts (via OnStart() callback).After that, adapter itself get new AccessToken periodically by using a given RefreshToken (well, at least that what I've intended).
go to post Tomohiro Iwamoto · Oct 6, 2020 Hi, I’ve posted the article and git repo while ago probably exactly what you are looking for. Only if you can handle Japanese and docker....
go to post Tomohiro Iwamoto · Jun 18, 2020 Hi Tim, Assuming you are extending EnsLib.MsgRouter.RoutingEngine, does this work for you? Mentioned briefly here. Class User.MyRouter Extends EnsLib.MsgRouter.RoutingEngine { Method OnPrepareReply(request As %Persistent, ByRef response As %Persistent) { Set response=##class(Ens.StringContainer).%New() Set cnt=$this.%ResponseList.Count() For i=1:1:cnt { Set messageHeaderId=$this.%ResponseList.GetAt(i) Set messageHeader=##class(Ens.MessageHeader).%OpenId(messageHeaderId) Set messageBody=$CLASSMETHOD(messageHeader.MessageBodyClassName,"%OpenId",messageHeader.MessageBodyId) Set response.StringValue=messageBody.StringValue_"|"_response.StringValue } } }