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 やドキュメントなどのファイルの種類を識別し、ハンドラーが "type": "openPage" アプリを開き、 pageIdに移動します。

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

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

ユーザーがアプリのコンテキスト メニューから [追加] オプションを選択すると、アプリ マニフェストの プロパティの openPage 助けを借りて個人用タブが開きます。 アプリは、コンテキスト オブジェクトのプロパティから、呼び出された Action に関する actionInfo コンテキスト情報に app.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 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 Admin Center にアップロードする必要があります。

  1. Microsoft Admin Center に移動します。

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

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

コード サンプル

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

次の手順