4

OfficeJS API を使用してアプリ内に OAuth を実装したい Outlook アドインを開発しました。また、 API ドキュメントによると、 Outlook 2016(デスクトップ) は要件セット 1.1、1.2、1.3、および 1.4 をサポートしていますが、私の場合はエラーをスローすることさえありません。 . Word アドインの作業用ダイアログ API サンプルの実行中に、 JavaScript 実行時エラーが発生します: Unable to get property 'displayDialogAsync' of undefined or null reference .

Microsoft Office Professional Plus 2016 を使用しています。

ダイアログを起動するために書いたコードは次のとおりです。

dialogTest() {
        const url = "https://login.microsoftonline.com/common/oauth2/v2.0/authorize?response_type=....";
        Office.context.ui.displayDialogAsync(url, { width: 15, height: 27, requireHTTPS: true }, function (asyncResult) {
            if (asyncResult.status !== Office.AsyncResultStatus.Succeeded) {
                // TODO: Handle error.
                return;
            }

            // Get the dialog and register event handlers.
            var dialog = asyncResult.value;
            dialog.addEventHandler(Microsoft.Office.WebExtension.EventType.DialogMessageReceived, function (asyncResult) {
                if (asyncResult.type !== Microsoft.Office.WebExtension.EventType.DialogMessageReceived) {
                    // TODO: Handle unknown message.
                    return;
                }

                // Parse the message.
                var data = JSON.parse(asyncResult.message);
                console.log('Hello #Office365Dev', data.name);

                // TODO: Do something with the data.

                // We got our data, time to close the dialog.
                dialog.close();
            });
        });
    }
4

1 に答える 1

3

uiのメンバーがOffice.context定義されOffice.jsていないか、正しく読み込まれていないようです。最初にこれらを確認してみてください。

  • Office.jsJavaScript は正しくロードされていますか?
  • Office.initializeコールバックは、何かを行う前に適切に設定および実行されていますか?
  • Outlook デスクトップ 2016 のバージョンは何ですか?

編集: 2016 年 6 月にマイクロソフトのエンジニアと話し合っています (これは公式の声明ではありません)。サポートされているビルドdialogAPIは Office for Windows Desktop 2016 (ビルド 16.0.6741.0000 以上) です。これは変更される可能性があります。

  • このコードの結果は何ですか var result = Office.context.requirements.isSetSupported('DialogAPI', '1.4');
于 2016-12-21T10:13:19.573 に答える