Office.context.mailbox.makeEwsRequestAsync
を使用してサポートされていないいくつかのEWSリクエスト(例:GetUserConfiguration
、UpdateUserConfiguration
)を使用する必要があります。Outlook WebアドインでEWS SOAPリクエストを使用する
自分のWebサービスでEWS Managed APIをブローカーとして使用することはできず、アドインのJavaScriptから直接XML SOAP要求を使用する必要があります(これらのメソッドはGraphまたはMail APIでは使用できません)。
のような多くの例があり、どのような方法で使用するにしても、そのトークンをあなたのWebサービスに渡すのにどのように使用できるのかを示しています。
ただし、私はgetUserIdentityTokenAsync
から取得したトークンが異なると使用できないと推測しています。シンプルでうまくいけば適切なテストとして、私はO365アカウントのOAUTHトークンを取得し、それを使用してSOAPeというトークンを使用してGetUserConfiguratio
というテストを呼び出しました。私はgetUserIdentityTokenAsync
からトークンを試してみましたが、動作しませんでした(401 Unauthorized
)。
これは貧弱なテストであると私は認めるが、この時点では、明示的なユーザーログインを必要とせずにOutlook dd-inのJavaScriptからのSOAP EWS要求がどのように認証されるのかは不明であるできる)。それが可能であれば、私は必要なトークンをどのように手に入れ、このようなクライアント側のリクエストにどのように使用すればよいでしょうか?
回避策として、userconfigurationオブジェクトはフォルダ内のFAIオブジェクトだけなので、FindItems、GetItem、およびUpdateItemを使用して、ユーザー構成オブジェクトの基礎となる拡張プロパティを更新することができます。 –
良いアイデア、感謝グレン!私はすでにGetItemからIPM.Configuration.OWA.UserOptionsを取得する段階に達していますが、現在のところ、DictionaryEntryの値をレスポンスに含める方法が紛失しています(signaturehtmlやその値など)。 –
そのシリアル化されたXMLは、https://msdn.microsoft.com/en-us/library/office/cc765806.aspxに書かれています。たとえば、XMLをバイト配列に変換し、PR_Roaming_Dictionaryプロパティにポストするだけです。 (既存の値を最初に取得してから追加する必要があります)。 –