2017-09-12 8 views
1

Office.context.mailbox.makeEwsRequestAsyncを使用してサポートされていないいくつかのEWSリクエスト(例:GetUserConfigurationUpdateUserConfiguration)を使用する必要があります。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要求がどのように認証されるのかは不明であるできる)。それが可能であれば、私は必要なトークンをどのように手に入れ、このようなクライアント側のリクエストにどのように使用すればよいでしょうか?

+1

回避策として、userconfigurationオブジェクトはフォルダ内のFAIオブジェクトだけなので、FindItems、GetItem、およびUpdateItemを使用して、ユーザー構成オブジェクトの基礎となる拡張プロパティを更新することができます。 –

+0

良いアイデア、感謝グレン!私はすでにGetItemからIPM.Configuration.OWA.UserOptionsを取得する段階に達していますが、現在のところ、DictionaryEntryの値をレスポンスに含める方法が紛失しています(signaturehtmlやその値など)。 –

+1

そのシリアル化されたXMLは、https://msdn.microsoft.com/en-us/library/office/cc765806.aspxに書かれています。たとえば、XMLをバイト配列に変換し、PR_Roaming_Dictionaryプロパティにポストするだけです。 (既存の値を最初に取得してから追加する必要があります)。 –

答えて

0

この場合、ews-javascript-apiヘルパーを使用するとよいでしょう。ここでは、Outlookアドインでこれを使用する方法の例を示します。 https://github.com/gautamsi/ews-js-api-browser#working-with-plain-jsts-no-module-loadersbundlers

あなたはこのライブラリと(makeEwsRequestAsyncで利用可能)任意の許可APIを使用することができます。同様のapiで、Ewsで管理されているApiで利用可能なもの。

+0

興味深い - 私がこれを見逃したかどうかわからない!私は見てみるつもりですが、私は今このプロジェクトが爆笑しているので決してないかもしれません –

関連する問題