问题标签 [office-js-helpers]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
151 浏览

office365 - 错误 13008,令牌已被请求

我正在使用 Office.JS。我使用 getAccessTokenAsync 检索令牌以将其交换为资源令牌。但由于某种原因(我在 Wi-Fi 连接上遇到此问题),我收到错误代码 13008 和消息“请在当前操作完成后再次尝试该操作。” 告诉我一个令牌已经被请求。由于令牌不会在前端过期,因此它会卡在此功能中,直到我重新更新不是一个选项的加载项。此应用程序稍后将被客户使用。

关于这种方法的文档很少,也没有关于如何解决这个问题,因为似乎没有人有这个问题。

当我调用上面的方法时,它会立即进入 else 语句,因为它不允许我请求新的令牌。我想找到解决这个问题的方法。最好是不需要重新添加加载项的东西。

0 投票
2 回答
1625 浏览

outlook-addin - 获取 Office.context.mailbox.item for Outlook 中的所有可用值

是否有 api 可以访问异步获取所有可用值Office.js,特别Office.context.mailbox.item是在 Outlook 中?

我在文档中看不到任何内容。

我需要捕获 10 个左右的字段,并且迄今为止只使用回调实现,例如

0 投票
1 回答
8308 浏览

node.js - "Object.defineProperty(exports, "__esModule", { value: true });" 在 FunctionFile 中阻止函数执行

我按照本教程开始了一个带有 Typescript&React 项目的 Office Web 插件:https ://github.com/OfficeDev/office-js-docs-pr/blob/master/docs/includes/file-get-started-excel-反应.md。任何任务窗格功能和页面都可以正常工作,但功能文件页面上的功能无法正常执行。

通过删除代码,我发现Object.defineProperty(exports, "__esModule", { value: true });编译的 function-file.js 中有一行解决了问题。无论何时出现,文件中的任何函数都不会被执行。Fiddler 显示脚本在 Excel 中正确加载,没有任何警告。状态栏显示“[加载项名称] 正在处理您的 [函数名称]”。

这行代码由 Typescript Compiler 生成,在这种情况下,用于加载 Node 模块“@microsoft/office-js-helpers”。我试图修改 tsconfig.json 文件以避免生成该行,但随后“@microsoft/office-js-helpers”的导入失败。另外,Webpack 4 会在这个文件中添加 webpackBootstrap 代码拦截功能。此时,我只能避免在 function-file.ts 中进行任何导入,并在通过 Webpack 构建项目后执行“tsc”。

我的问题是:设置此项目的正确方法是什么,以便 function-file.js 不包含任何阻止其执行功能的代码?如果没有明确的答案,至少,为什么这行代码会导致其他页面正常工作的问题?

以下是我的 tsconfig.json 可以避免该行但不能加载任何模块:

我手动将编译好的function-file.js 编辑成两个版本:

VS

第一个有这个问题,而第二个没有。

0 投票
1 回答
537 浏览

ms-word - 使用 OfficeJS API 加载 base64 编码的 .docx 文件时无法加载页眉和页脚

让我简要介绍一下场景:

  • 我们有 base64 编码的 .docx 文件。
  • 我们的 Word 插件有一个功能,我们请求内部 API 来获取 base64 编码的 .docx 文件。
  • 这个 base64 编码的 .docx 文件(具有页眉、页脚和正文)使用 Word 插件加载到 MS Word 中。
  • 问题是文档正文已完美加载,但页眉和页脚未在 MS Word 中加载。
  • 用于执行上述操作的 Office JS API 是 Document.Body.insertFileFromBase64()。

使用正确的屏幕截图解释了步骤:

  步骤 - 1 创建一个带有页眉和页脚详细信息的示例数据文档,如屏幕截图所示。 在此处输入图像描述

步骤 - 2 获取上述 .docx 文件的 Base64 编码文件字符串。

步骤 - 3 我们创建了一个 angular js 1.7 和 angular 6 Office JS 插件应用程序,它接受 .docx base64 编码的文件字符串并将该文件加载到 MS Word 中。3.1 Angular 6 Office JS 插件应用如下: 在此处输入图像描述

3.2 我们将步骤-2中的base64编码文件字符串输入到我们开发的自定义Word插件中显示的文本框中。单击加载文件按钮时,我们的插件会从 base64 编码字符串加载实际文件。 在此处输入图像描述

3.3 如下图所示,页眉和页脚消失了,MS Word 中只加载了正文。 在此处输入图像描述

  3.4 开发的自定义Word Add-in 中使用的Office JS API 是context.Document.Body.insertFileFromBase64(, ) Office JS API CDN: https://appsforoffice.microsoft.com/lib/1/hosted/Office.js 在此处输入图像描述

请对此提供帮助,因为我们在应用程序中处于生产问题的阻止状态。

0 投票
1 回答
77 浏览

jwt - jsonwebtoken 包验证用户 Office.context.mailbox.getUserIdentityToken 结果失败

我正在开发 Outlook Web 加载项。

我正在尝试通过库验证我传递给服务器端的令牌node.js,但它失败了,我不明白为什么。

这就是我为检索用户身份令牌所做的工作。

在服务器端,我检索令牌并执行以下操作:

澄清一下,我正在正确检索令牌,并且这个 npm 包似乎对其他 jwt 令牌运行良好。(所以这不是真正的配置问题)

0 投票
1 回答
235 浏览

office-js - 在 PowerPoint 中使用 Office JavaScript API 选择标题和文本区域

我正在尝试为 PowerPoint 开发一个基本的 Web 加载项。我想要做的是从 Office JS API 中选择标题区域或文本区域,然后将一些文本粘贴到这些区域中。但是,我在 Office JS API 文档中找不到任何内容。

在他们的教程中,微软在幻灯片中包含了一个“Hello World”:

https://docs.microsoft.com/en-us/office/dev/add-ins/tutorials/powerpoint-tutorial),但您首先必须单击标题区域才能执行此操作(我会喜欢用 JavaScript 来做)

有谁知道此时这是否可能?(我有点担心这不是因为微软没有开发特定的 PowerPoint 插件,就像他们为 Excel 和 Word 所做的那样)。谢谢!

0 投票
1 回答
313 浏览

powerpoint - 在 Powerpoint 幻灯片中插入形状(Office Javascript API)

是否可以在 PowerPoint 幻灯片中添加形状(或除纯文本或图像之外的任何其他内容)?

我在上面找不到任何东西,真的希望这是可能的。我已经在 UserVoice 上添加了这个请求(https://officespdev.uservoice.com/forums/224641-feature-requests-and-feedback/suggestions/36881503-insert-shapes-in-powerpoint)。有什么建议么?

0 投票
0 回答
25 浏览

ms-word - 如何通过加载项 API 获取 Word 文本效果属性?

我正在尝试利用 Word 插件 API 编写一个 Word 插件 (Javascript),但遇到了障碍。

我似乎找不到字母或单词的文本效果的属性,它似乎不在字体中

任何人都可以帮忙吗?

这些是我试图遵循的步骤:

在 Word 2016 中,您将选择想要效果的文本,然后选择“A”图标(我认为是蓝色,在荧光笔旁边),然后应用效果 - 例如 OUTLINE

安迪

0 投票
1 回答
468 浏览

excel - 从 Excel 任务窗格内的 Angular 应用程序中读取 Office 加载项清单文件的设置

要求:使用 office.js/angular app读取清单文件中的AutoConfig元素,并将根据 AutoConfig 值在任务窗格中隐藏/显示我的 angular 应用程序中的内容。

第一种方法我将<AutoConfig>true</AutoConfig> 在清单文件中放置一个自定义标签,这个自定义标签应该由任务窗格中的 angular app/office.js 读取。

<SourceLocation https://localhost:3000/index.html?autoConfig=true>如果无法在清单文件中提供自定义标记,则第二种方法将传递 URL 参数(第一种方法)

你能帮我怎样才能达到这个要求吗?

0 投票
2 回答
2599 浏览

office-js - Outlook Web 加载项调用 Microsoft Graph

我正在关注office-js-helpers以启用 SSO 登录,然后使用访问令牌调用 Graph API。

但是,即使我在 manifest.xml 中添加,身份验证也会在新选项卡中打开登录窗口

当前结果。
在此处输入图像描述

编辑:
对于 SSO 登录,是否应该在 Outlook 加载项中重定向而不是打开新的 Web 浏览器窗口?

这是演示项目OutlookOneDriveGraphAddIn

我想在我的 Outlook Web 插件中启用图形 API,图形 API 需要登录过程,我希望能够在我的 Web 插件中请求访问令牌。

如果有任何不清楚的地方,请告诉我。