Office.context.ui.openBrowserWindow(url) недоступен в office.js

#outlook #office-js #outlook-web-addins

Вопрос:

Я пытаюсь использовать окно openBrowserWindow Office.js, но эта функция не найдена. Я использую нижеприведенную строку для доступа к office.js файл.

Чего я пытаюсь добиться, так это загрузить pdf-файл из надстройки Outlook. Он хорошо работает в браузере. Но когда я открываю надстройку в настольном клиенте Outlook, загрузка не работает. Я использую macOS. Мне еще предстоит протестировать его в Windows. Но мне действительно нужно, чтобы он работал как в браузере, так и в клиентском надстройке Outlook.

<script type="text/javascript" src="https://appsforoffice.microsoft.com/lib/1.1/hosted/office.js"></script>

Мой манифест выглядит следующим образом:

 <OfficeApp xmlns="http://schemas.microsoft.com/office/appforoffice/1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bt="http://schemas.microsoft.com/office/officeappbasictypes/1.0" xsi:type="MailApp">
  <Id>b2ce0a4d-16d2-4635-978c-f5369b4a4c22</Id>
  <AppDomains>
  </AppDomains>
  <Hosts>
    <Host Name="Mailbox"/>
    <Host Name="Outlook"/>
  </Hosts>
  <Requirements>
    <Sets>
      <Set Name="Mailbox" MinVersion="1.1"/>
  <Set Name="OpenBrowserWindowApi" MinVersion="1.1"/>
      
    </Sets>
  </Requirements>

  <FormSettings>
    <Form xsi:type="ItemRead">
      <DesktopSettings>
        <SourceLocation DefaultValue="https://localhost:3000/#/outlookAddin"/>
        <RequestedHeight>250</RequestedHeight>
      </DesktopSettings>
    </Form>
  </FormSettings>

  <Permissions>ReadWriteItem</Permissions>

  <Rule xsi:type="RuleCollection" Mode="Or">
    <Rule xsi:type="ItemIs" ItemType="Message" FormType="Read"/>
  </Rule>

  <DisableEntityHighlighting>false</DisableEntityHighlighting>

  <VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides" xsi:type="VersionOverridesV1_0">
    <Requirements>
      <bt:Sets DefaultMinVersion="1.3">
        <bt:Set Name="Mailbox"/>
      </bt:Sets>
    </Requirements>
    <Hosts>
      <Host xsi:type="MailHost">
        <DesktopFormFactor>
          <FunctionFile resid="FunctionFile.Url"/>
         

          <ExtensionPoint xsi:type="MessageReadCommandSurface">
            <OfficeTab id="TabDefault">
              <Group id="msgReadDemoGroup">
                <Label resid="groupLabel" />
                <Control xsi:type="Button" id="selfSignFunctionButton">
                  <Label resid="selfSignButtonLabel" />
                  <Supertip>
                    <Title resid="selfSignSuperTipTitle" />
                    <Description resid="selfSignSuperTipDescription" />
                  </Supertip>
                  <Icon>
                    <bt:Image size="16" resid="Icon.16x16"/>
                    <bt:Image size="32" resid="Icon.32x32"/>
                    <bt:Image size="80" resid="Icon.80x80"/>
                  </Icon>
                  <Action xsi:type="ShowTaskpane">
                    <SourceLocation resid="Taskpane.Url"/>
                  </Action>
                </Control>
                <Control xsi:type="Button" id="rsFunctionButton">
                  <Label resid="rsButtonLabel" />
                  <Supertip>
                    <Title resid="rsSuperTipTitle" />
                    <Description resid="rsSuperTipDescription" />
                  </Supertip>
                  <Icon>
                    <bt:Image size="16" resid="Icon.16x16"/>
                    <bt:Image size="32" resid="Icon.32x32"/>
                    <bt:Image size="80" resid="Icon.80x80"/>
                  </Icon>
                  <Action xsi:type="ShowTaskpane">
                    <SourceLocation resid="Taskpane.Url"/>
                  </Action>
                </Control>
                <Control xsi:type="Menu" id="moreMenuButton">
                  <Label resid="moreButtonLabel" />
                  <Supertip>
                    <Title resid="moreSuperTipTitle" />
                    <Description resid="moreSuperTipDescription" />
                  </Supertip>
                  <Icon>
                    <bt:Image size="16" resid="Icon.16x16"/>
                    <bt:Image size="32" resid="Icon.32x32"/>
                    <bt:Image size="80" resid="Icon.80x80"/>
                  </Icon>
                  <Items>
                    <Item id="msgReadMenuItem1">
                      <Label resid="docSummaryReadLabel" />
                      <Supertip>
                        <Title resid="docSummaryReadLabel" />
                        <Description resid="docSummaryReadTip" />
                      </Supertip>
                      <Icon>
                        <bt:Image size="16" resid="Icon.16x16"/>
                    <bt:Image size="32" resid="Icon.32x32"/>
                    <bt:Image size="80" resid="Icon.80x80"/>
                      </Icon>
                     <Action xsi:type="ShowTaskpane">
                      <SourceLocation resid="Taskpane.Url"/>
                    </Action>
                    </Item>
                  </Items>
                </Control>
              </Group>
            </OfficeTab>
          </ExtensionPoint>
        </DesktopFormFactor>
      </Host>
    </Hosts>
    <Resources>
      <bt:Images>
      
      </bt:Images>
      <bt:Urls>
        <bt:Url id="FunctionFile.Url" DefaultValue="https://localhost:/index.js"/>
        <bt:Url id="Taskpane.Url" DefaultValue="https://localhost:3000/#/outlookAddin"/>
      </bt:Urls>
      <bt:ShortStrings>
        </bt:ShortStrings>
      <bt:LongStrings>
          </bt:LongStrings>
    </Resources>
  </VersionOverrides>
</OfficeApp>```


I don't know how to get openbrowserwindow working.
 

Комментарии:

1. Работаете ли вы над платформой, которая его поддерживает? Видишь docs.microsoft.com/office/dev/add-ins/reference/…

2. БОЖЕ мой! Не знаю, как вас и благодарить! Я тестировал его в Интернете, а не на «Office на Mac (подключен к подписке Microsoft 365)». Это работало в outlook на рабочем столе клиента. Да, да, это сработало!

3. ОК. Я сделаю это ответом.

Ответ №1:

Убедитесь, что вы работаете на платформе, которая его поддерживает. См.раздел Наборы требований к API Открытого окна Браузера.