2017-05-31 21 views
1

私はMIME形式の電子メールコンテンツを必要とするaddinを作成しています。今私はewsurl()getCallBackTokenAsync()、およびOffice.context.mailbox.itemId apiのを使用して、EWSのURL、アクセストークン、メッセージIDを見つけ、Ajax経由でバックエンドに送信します。バックエンドがSOAPリクエストをEWSに送信し、電子メールメッセージをダウンロードします。このアプローチは正しいですか?Outlook Web Addinの電子メールコンテンツへのアクセス

私の主な関心事は、EWSエンドポイントが同じマシンからのリクエストが多すぎると思っている場合です。たとえば、組織内の複数のユーザー(たとえば数百人)が同時にアドインを使用できます。この場合、アドインバックエンドは複数の同時要求をEWSに送信できます。同じアドイン/同じバックエンドマシンからの要求が多すぎる場合は、EWSはいくらかのスロットルを実装しますか?

代替アプローチはありますか?

答えて

0

これは現時点での唯一のアプローチです。 Office.jsとグラフのどちらも、生の電子メールメッセージの取得をサポートしていません。アドインが1つの電子メールのコンテキスト内で実行されていることを考えると、これはたかだか2回以上のコールが発生するとは想像もできませんので、スロットルにはあま​​り関心がありません。

+0

ありがとうMarc。さらに質問を明確にするために、組織内の複数のユーザー(たとえば数百人)がアドインを同時に使用しているとします。この場合、アドインバックエンドは複数の同時要求をEWSに送信できます。同じアドイン/同じバックエンドマシンからのリクエストが多すぎると、EWSはいくらかのスロットルを実装しますか? – bala

0

私はMIME形式の電子メールコンテンツを必要とするaddinを書いています。

あなたは、元のMIMEメッセージを取得することができなくなります。 ExchangeはMIMEコンテンツを格納しません。あなたは、Exchangeによってその場で行われたMIMEコンテンツを生成するかもしれません。そして、この変換は高価です。返信されたMIMEメッセージは、Exchangeによって受信された元のMIMEとは関係がないので、なぜ迷惑でしょうか? EWS要求で取得できる最大値は元のメッセージヘッダー(PR_TRANSPORT_MESSAGE_HEADERS)ですが、元のMIMEメッセージ全体ではありません。

制限:クライアントからのEWS要求(makeEwsRequestAsync)を使用する場合は、3つの非同期呼び出しと1 Mbの応答に制限されます。サーバーからこれを行うと、その制限に合格することができます。これに関する詳細:Limits for activation and JavaScript API for Outlook add-ins

+0

リンクのスラヴァに感謝します。それは便利でした。 「MIME形式の電子メールを送信する」とは、GetItem EWS呼び出しに応答して取得するセクションの値を意味します。 – bala

+0

@BalakrishnanRajkumar私は自分の答えを明確にするために答えを修正しました。私が言及したのは、インターネットを通って移動する「元のMIME」でした。この元のMIMEは、Exchangeが保持していないため取得できません。代わりに、元のMIMEとは何の関係もないExchange MIMEコンテンツによって生成されたメッセージが要求によって送られます。異なるエンコーディング、境界などを使用することがありますが、これは高価なExchange操作と見なされます。 –

関連する問題