英語で読む

次の方法で共有


Microsoft 365 でのビルド アクション

注意

アクションは 、パブリック開発者プレビューで使用できます。

アプリを作成するときに、ユーザーの意図を定義し、アクションを実行するオブジェクトを決定し、ユーザーのタスク完了を容易にする対応するハンドラーを構築します。

アプリのアクションをビルドするには、次の手順に従います。

  1. 前提条件
  2. アプリ マニフェストを構成します
  3. コンテキスト オブジェクトを使用してアクション情報を取得します
  4. Graph APIを介してコンテンツにアクセスします。

前提条件

作業を開始する前に、次のツールをインストールしてください。

  インストール 使用するには...
  Node.js JavaScript ランタイム環境。 詳細については、「 プロジェクトの種類Node.js バージョン互換性テーブル」を参照してください
  Microsoft Edge (推奨) または Google Chrome 開発者ツールを備えたブラウザー。
  Visual Studio Code Visual Studio Code は軽量で強力なソース コード エディターで、JavaScript、TypeScript、Node.js、SharePoint Framework (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 や doc などのファイルの種類を識別し、 "type": "openPage" ハンドラーによってアプリが開き、 pageIdに移動します。

コンテキスト オブジェクトを使用してアクション情報を取得する

ハンドラーをビルドして 、コンテキスト オブジェクト を介してアクション情報を受け取り、 Teams JavaScript ライブラリ (TeamsJS) を使用してユーザー固有のタスクを実行するためのシームレスなユーザー エクスペリエンスを作成します。

ユーザーがアプリのコンテキスト メニューから [追加] オプションを選択すると、アプリ マニフェストの openPage プロパティの助けを借りて個人用タブが開きます。 アプリは、app.getContext() コンテキスト オブジェクトの actionInfo プロパティから、呼び出された Action に関するコンテキスト情報にアクセスできます。

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 context オブジェクトには、現在のアクションに関連するすべての情報を保持する オブジェクトが含まれています。

Graph APIを介してコンテンツにアクセスする

トリガーするコンテンツのitemIdを取得した後、Graph APIを使用してコンテンツの読み取りまたは変更を行い、ユーザーのタスクの完了を容易にすることができます。

HTTP 要求

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

Teams Toolkit を使用してアプリをサイドロードする

必要な情報でアプリ パッケージを更新したら、Teams Toolkit でアクションをテストする準備が整います。 デバッグを開始するには、 F5 キーを選択します。

スクリーンショットは、デバッグ中のアクションを示しています。

ブラウザー ウィンドウが Microsoft 365 ホーム ページで開き、[ アプリ] でアプリを使用できます。

これで、Microsoft 365 ホーム ページでアクションをプレビューし、Actions でサポートされているファイルを右クリックできます。 アクションは、コンテキスト メニューに表示されます (例: Todo タスクの追加)。

スクリーンショットは、コンテキスト メニューのアクションを示しています。

Microsoft 365 管理 センターのユーザーのプレインストール アクション

注意

アクションはパブリック開発者プレビューで使用できます。ユーザーに 対して対象リリース を有効にして、Microsoft 365 アプリでアクションを体験できるようにします。

テナントでアクションでアプリを使用するには、管理者が devPreview マニフェストを含むアプリ パッケージを次のように Microsoft 管理 センターにアップロードする必要があります。

  1. Microsoft 管理 センターに移動します。

  2. [設定>統合されたアプリ>カスタム アプリのアップロード] を選択します。

手順に従って、テナント内のorganizationまたはユーザー グループ全体にアプリをプレインストールします。

コード サンプル

サンプルの名前 説明 Node.js
Microsoft 365 アプリでのアクション このサンプル コードでは、Microsoft 365 アプリで実装されるアクションについて説明します。具体的には、To Do アプリ内の 2 つのアクションに焦点を当てます。 表示

次の手順