Microsoft 365 中的生成操作

注意

公共开发人员预览版中提供了操作。

创建应用时,请确保定义用户意向,确定要执行操作的对象,并构造有助于用户完成任务的相应处理程序。

若要为应用生成操作,请执行以下步骤:

  1. 先决条件
  2. 配置应用清单
  3. 通过上下文对象检索操作信息
  4. 通过图形 API访问内容

先决条件

在开始之前,请确保安装以下内容:

  安装 说明
  Node.js JavaScript 运行时环境。 有关详细信息,请参阅 项目类型的Node.js 版本兼容性表
  Microsoft Edge(推荐)或 Google Chrome 包含开发人员工具的浏览器。
  Visual Studio Code Visual Studio Code是一个轻型但功能强大的源代码编辑器,它附带了对 JavaScript、TypeScript、Node.js 和 SharePoint 框架 (SPFx) 生成环境的内置支持。 使用最新版本。
  Teams 工具包 Microsoft Visual Studio Code扩展,用于为应用创建项目基架。 使用最新版本。

配置应用清单

actions在应用清单 (以前称为 Teams 应用清单) ,添加 属性并定义操作的意向、对象和处理程序。

下面是可在 Excel、Word、PDF 或 PowerPoint 等文件上触发的操作的应用清单示例:

{
  "$schema": "https://developer.microsoft.com/json-schemas/teams/vDevPreview/MicrosoftTeams.schema.json",
  "manifestVersion": "devPreview",

  "actions": [
    {
      "id": "relatedTasks",
      "displayName": "Related tasks",
      "intent": "custom",
      "description": "Shows tasks in the To do app that are related to this file.",
      "handlers": [
        {
          "type": "openPage",
          "supportedObjects": {
            "file": {
              "extensions": ["xlsx", "doc", "docx", "pdf", "pptx", "ppt"]
            }
          },
          "pageInfo": {
            "pageId": "index",
          }
        }
      ]
    }
  ]
}

有关详细信息,请参阅 公共开发人员预览版应用清单架构

当用户选择操作以打开个人选项卡并根据所选文件查看应用中的相关任务时。 应用使用 "intent": "custom" 属性来标识文件类型,例如 .xlsx 或文档, "type": "openPage" 处理程序将打开应用并导航到 pageId

通过上下文对象检索操作信息

生成处理程序以通过 上下文对象 接收操作信息,以使用 Teams JavaScript 库 (TeamsJS) 创建用于执行用户特定任务的无缝用户体验。

当用户从应用的上下文菜单中选择“添加”选项时,将在应用清单中的 属性的帮助下 openPage 打开个人选项卡。 应用可以从上下文对象的 属性访问有关调用的操作 actionInfoapp.getContext() 上下文信息。

ActionInfo 界面有助于使应用能够确定用户何时从操作打开选项卡以及启动操作的内容。

app.getContext().then((context) => {
    const actionInfo = context.actionInfo;
    if (actionInfo) {
        // App was launched using an action    
    } 
    if (actionInfo && actionInfo.actionId == 'myActionId1') {
        // Handle specific action    
    } 
    if (actionInfo) {
        if (actionInfo.actionObject.type == app.ActionObjectType.M365Content) {
            const itemId = actionInfo.actionObjects[0].itemId;
            // Get the requested content from Mirosoft Graph by item id:
        } 
    }
})
  名称 说明
  actionObjects 相应操作对象的数组。
  itemId 应用接收 ID 作为内容,并使用它来查询 Microsoft Graph。
  actionInfo 上下文对象包含一个 对象,该对象保存与当前操作相关的所有信息。

通过图形 API访问内容

获取itemId触发内容的 后,可以使用图形 API来读取或修改内容,从而方便用户完成任务。

HTTP 请求

GET /users/{user-id}/drive/items/{item-id}

使用 Teams 工具包旁加载应用

使用所需信息更新应用包后,即可在 Teams 工具包中测试操作。 若要启动调试,请选择 F5 键。

屏幕截图显示了调试中的操作。

此时会打开一个浏览器窗口,其中包含 Microsoft 365 主页,你的应用在 “应用”下可用。

现在可以在 Microsoft 365 主页中预览操作,右键单击操作支持的文件。 操作显示在上下文菜单中,例如 “添加待办事项任务”。

屏幕截图显示了上下文菜单中的操作。

在 Microsoft 365 管理 中心为用户预安装操作

注意

操作在公共开发人员预览版中可用,请确保为用户启用 定向发布 ,以体验 Microsoft 365 应用中的操作。

若要将应用与租户中的 Actions 配合使用,管理员必须将带有 devPreview 清单的应用包上传到 Microsoft 管理员 中心,如下所示:

  1. 转到 Microsoft 管理员中心

  2. 选择 “设置”>“集成应用>”“上传自定义应用”。

按照说明为租户中的整个组织或用户组预安装应用。

代码示例

示例名称 说明 Node.js
Microsoft 365 应用中的操作 此示例代码介绍在 Microsoft 365 应用中实现的操作,具体侧重于“To Do”应用中的两个操作。 View

后续步骤

另请参阅

Microsoft 365 中的操作