リファレンス: Microsoft Teams のマニフェスト スキーマReference: Manifest schema for Microsoft Teams

Microsoft Teams マニフェストは、アプリが Microsoft Teams 製品に統合される方法について説明します。The Microsoft Teams manifest describes how the app integrates into the Microsoft Teams product. マニフェストは、ホストされているスキーマに準拠している必要があります https://developer.microsoft.com/json-schemas/teams/v1.8/MicrosoftTeams.schema.jsonYour manifest must conform to the schema hosted at https://developer.microsoft.com/json-schemas/teams/v1.8/MicrosoftTeams.schema.json. 以前のバージョンの 1.0-1.4 もサポートされています (URL で "v1.x" を使用)。Previous versions 1.0-1.4 are also supported (using "v1.x" in the URL).

次のスキーマ サンプルは、すべての拡張オプションを示しています。The following schema sample shows all extensibility options.

完全なマニフェストのサンプルSample full manifest

{
  "$schema": "https://developer.microsoft.com/json-schemas/teams/v1.8/MicrosoftTeams.schema.json",
  "manifestVersion": "1.8",
  "version": "1.0.0",
  "id": "%MICROSOFT-APP-ID%",
  "packageName": "com.example.myapp",
  "localizationInfo": {
    "defaultLanguageTag": "en-us",
    "additionalLanguages": [
      {
        "languageTag": "es-es",
        "file": "en-us.json"
      }
    ]
  },
  "developer": {
    "name": "Publisher Name",
    "websiteUrl": "https://website.com/",
    "privacyUrl": "https://website.com/privacy",
    "termsOfUseUrl": "https://website.com/app-tos",
    "mpnId": "1234567890"
  },
  "name": {
    "short": "Name of your app (<=30 chars)",
    "full": "Full name of app, if longer than 30 characters (<=100 chars)"
  },
  "description": {
    "short": "Short description of your app (<= 80 chars)",
    "full": "Full description of your app (<= 4000 chars)"
  },
  "icons": {
    "outline": "A relative path to a transparent .png icon — 32px X 32px",
    "color": "A relative path to a full color .png icon — 192px X 192px"
  },
  "accentColor": "A valid HTML color code.",
  "configurableTabs": [
    {
      "configurationUrl": "https://contoso.com/teamstab/configure",
      "scopes": [
        "team",
        "groupchat"
      ],
      "canUpdateConfiguration": true,
      "context":[
        "channelTab",
        "privateChatTab",
        "meetingChatTab",
        "meetingDetailsTab",
        "meetingSidePanel",
        "meetingStage"
      ],
      "sharePointPreviewImage": "Relative path to a tab preview image for use in SharePoint — 1024px X 768",
      "supportedSharePointHosts": [
         "sharePointFullPage",
         "sharePointWebPart"
      ]
    }
  ],
  "staticTabs": [
    {
      "entityId": "unique Id for the page entity",
      "scopes": [
        "personal"
      ],
      "context":[
        "personalTab",
        "channelTab"
        ],
      "name": "Display name of tab",
      "contentUrl": "https://contoso.com/content (displayed in Teams canvas)",
      "websiteUrl": "https://contoso.com/content (displayed in web browser)",
       "searchUrl":  "https://contoso.com/content (displayed in web browser)"
    }
  ],
  "bots": [
    {
      "botId": "%MICROSOFT-APP-ID-REGISTERED-WITH-BOT-FRAMEWORK%",
      "scopes": [
        "team",
        "personal",
        "groupchat"
      ],
      "needsChannelSelector": false,
      "isNotificationOnly": false,
      "supportsFiles": true,
      "supportsCalling": false,
      "supportsVideo": true,
      "commandLists": [
        {
          "scopes": [
            "team",
            "groupchat"
          ],
          "commands": [
            {
              "title": "Command 1",
              "description": "Description of Command 1"
            },
            {
              "title": "Command 2",
              "description": "Description of Command 2"
            }
          ]
        },
        {
          "scopes": [
            "personal",
            "groupchat"
          ],
          "commands": [
            {
              "title": "Personal command 1",
              "description": "Description of Personal command 1"
            },
            {
              "title": "Personal command N",
              "description": "Description of Personal command N"
            }
          ]
        }
      ]
    }
  ],
  "connectors": [
    {
      "connectorId": "GUID-FROM-CONNECTOR-DEV-PORTAL%",
      "scopes": [
        "team"
      ],
      "configurationUrl": "https://contoso.com/teamsconnector/configure"
    }
  ],
  "composeExtensions": [
    {
      "canUpdateConfiguration": true,
      "botId": "%MICROSOFT-APP-ID-REGISTERED-WITH-BOT-FRAMEWORK%",
      "commands": [
        {
          "id": "exampleCmd1",
          "title": "Example Command",
          "type": "query",
          "context": [
            "compose",
            "commandBox"
          ],
          "description": "Command Description; e.g., Search on the web",
          "initialRun": true,
          "fetchTask": false,
          "parameters": [
            {
              "name": "keyword",
              "title": "Search keywords",
              "inputType": "text",
              "description": "Enter the keywords to search for",
              "value": "Initial value for the parameter",
              "choices": [
                {
                  "title": "Title of the choice",
                  "value": "Value of the choice"
                }
              ]
            }
          ]
        },
        {
          "id": "exampleCmd2",
          "title": "Example Command 2",
          "type": "action",
          "context": [
            "message"
          ],
          "description": "Command Description; e.g., Search for a customer",
          "initialRun": true,
          "fetchTask": true,
          "parameters": [
            {
              "name": "custinfo",
              "title": "Customer name",
              "description": "Enter a customer name",
              "inputType": "text"
            }
          ]
        }
      ],
      "taskInfo": {
        "title": "Initial dialog title",
        "width": "Dialog width",
        "height": "Dialog height",
        "url": "Initial webview URL"
      },
      "messageHandlers": [
        {
          "type": "link",
          "value": {
            "domains": [
              "mysite.someplace.com",
              "othersite.someplace.com"
            ]
          }
        }
      ]
    }
  ],
  "permissions": [
    "identity",
    "messageTeamMembers"
  ],
  "devicePermissions": [
    "geolocation",
    "media",
    "notifications",
    "midi",
    "openExternal"
  ],
  "validDomains": [
    "contoso.com",
    "mysite.someplace.com",
    "othersite.someplace.com"
  ],
  "webApplicationInfo": {
    "id": "AAD App ID",
    "resource": "Resource URL for acquiring auth token for SSO",
    "applicationPermissions": [
      "TeamSettings.Read.Group",
      "ChannelSettings.Read.Group",
      "ChannelSettings.Edit.Group",
      "Channel.Create.Group",
      "Channel.Delete.Group",
      "ChannelMessage.Read.Group",
      "TeamsApp.Read.Group",
      "TeamsTab.Read.Group",
      "TeamsTab.Create.Group",
      "TeamsTab.Edit.Group",
      "TeamsTab.Delete.Group",
      "Member.Read.Group",
      "Owner.Read.Group",
      "Member.ReadWrite.Group",
      "Owner.ReadWrite.Group"
    ],
  },
  "showLoadingIndicator": false,
  "isFullScreen": false,
  "activities": {
    "activityTypes": [
      {
        "type": "taskCreated",
        "description": "Task created activity",
        "templateText": "<team member> created task <taskId> for you"
      },
      {
        "type": "userMention",
        "description": "Personal mention activity",
        "templateText": "<team member> mentioned you"
      }
    ]
  }
}

スキーマは、次のプロパティを定義します。The schema defines the following properties:

$schema$schema

省略可能、ただし推奨 — 文字列Optional, but recommended — string

次https://マニフェストの JSON スキーマを参照する URL を示します。The https:// URL referencing the JSON Schema for the manifest.

manifestVersionmanifestVersion

必須 — stringRequired — string

このマニフェストが使用しているマニフェスト スキーマのバージョン。The version of the manifest schema this manifest is using. "1.7" である必要があります。It should be "1.7".

versionversion

必須 — stringRequired — string

特定のアプリのバージョン。The version of the specific app. マニフェストで何かを更新する場合は、バージョンもインクリメントする必要があります。If you update something in your manifest, the version must be incremented as well. このように、新しいマニフェストをインストールすると、既存のマニフェストが上書きされ、ユーザーは新機能を取得します。This way, when the new manifest is installed, it will overwrite the existing one and the user will get the new functionality. このアプリがストアに提出された場合、新しいマニフェストを再送信して再検証する必要があります。If this app was submitted to the store, the new manifest will have to be re-submitted and re-validated. その後、このアプリのユーザーは、承認された数時間後に新しい更新されたマニフェストを自動的に取得します。Then, users of this app will get the new updated manifest automatically in a few hours, after it is approved.

アプリがアクセス許可の変更を要求した場合、ユーザーはアプリのアップグレードと再同意を求めるメッセージが表示されます。If the app requested permissions change, users will be prompted to upgrade and re-consent to the app.

このバージョン文字列は 、semver 標準 (MAJOR.マイナー。PATCH)。This version string must follow the semver standard (MAJOR.MINOR.PATCH).

idid

必須 — Microsoft アプリ IDRequired — Microsoft app ID

このアプリの Microsoft によって生成された一意の識別子。The unique Microsoft-generated identifier for this app. Microsoft Bot Framework 経由でボットを登録した場合、またはタブの Web アプリが既に Microsoft にサインインしている場合は、既に ID を持っている必要があります。この ID をここに入力する必要があります。If you have registered a bot via the Microsoft Bot Framework, or your tab's web app already signs in with Microsoft, you should already have an ID and should enter it here. それ以外の場合は、Microsoft アプリケーション登録ポータル (マイアプリケーション) で新しい ID を生成し、ここに入力して、ボットを追加するときに再利用する必要があります。注: AppSource で既存のアプリに更新プログラムを提出する場合は、マニフェスト内の ID を変更することはできません。Otherwise, you should generate a new ID at the Microsoft Application Registration Portal (My Applications), enter it here, and then reuse it when you add a bot.Note: If you are submitting an update to your existing app in AppSource, the ID in your manifest must not be modified.

developerdeveloper

必須 — オブジェクトRequired — object

会社に関する情報を指定します。Specifies information about your company. AppSource (以前はストアOffice提出されたアプリの場合、これらの値は AppSource エントリの情報と一致する必要があります。For apps submitted to AppSource (formerly Office Store), these values must match the information in your AppSource entry. 追加情報については 、発行ガイドライン を参照してください。See our publishing guidelines for additional information.

名前Name 最大サイズMaximum size 必須Required 説明Description
name 32 文字32 characters 開発者の表示名。The display name for the developer.
websiteUrl 2048 文字2048 characters このhttps://の Web サイトの URL を指定します。The https:// URL to the developer's website. このリンクは、ユーザーを会社または製品固有のランディング ページに移動する必要があります。This link should take users to your company or product-specific landing page.
privacyUrl 2048 文字2048 characters このhttps://開発者のプライバシー ポリシーの URL を指定します。The https:// URL to the developer's privacy policy.
termsOfUseUrl 2048 文字2048 characters このhttps://開発者の利用規約の URL を示します。The https:// URL to the developer's terms of use.
mpnId 10 文字10 characters 省略可能 アプリを構築するパートナー組織を識別する Microsoft Partner Network ID。Optional The Microsoft Partner Network ID that identifies the partner organization building the app.

namename

必須 — オブジェクトRequired — object

Teams エクスペリエンスでユーザーに表示されるアプリ エクスペリエンスの名前。The name of your app experience, displayed to users in the Teams experience. AppSource に送信されるアプリの場合、これらの値は AppSource エントリの情報と一致する必要があります。For apps submitted to AppSource, these values must match the information in your AppSource entry. 値は short 同じで full 、同じにすべきではありません。The values of short and full should not be the same.

名前Name 最大サイズMaximum size 必須Required 説明Description
short 30 文字30 characters アプリの短い表示名。The short display name for the app.
full 100 文字100 characters 完全なアプリ名が 30 文字を超える場合に使用される、アプリの完全な名前。The full name of the app, used if the full app name exceeds 30 characters.

説明description

必須 — オブジェクトRequired — object

アプリをユーザーに説明します。Describes your app to users. AppSource に送信されるアプリの場合、これらの値は AppSource エントリの情報と一致する必要があります。For apps submitted to AppSource, these values must match the information in your AppSource entry.

説明がエクスペリエンスを正確に説明し、潜在的な顧客がエクスペリエンスの内容を理解するのに役立つ情報を提供します。Ensure that your description accurately describes your experience and provides information to help potential customers understand what your experience does. また、外部アカウントの使用が必要な場合は、完全な説明で注意する必要があります。You should also note, in the full description, if an external account is required for use. 値は short 同じで full 、同じにすべきではありません。The values of short and full should not be the same. 短い説明は、詳細な説明の中で繰り返さず、他のアプリ名を含めずにしてください。Your short description must not be repeated within the long description and must not include any other app name.

名前Name 最大サイズMaximum size 必須Required 説明Description
short 80 文字80 characters スペースが制限されている場合に使用される、アプリのエクスペリエンスの簡単な説明。A short description of your app experience, used when space is limited.
full 4,000 文字4000 characters アプリの完全な説明。The full description of your app.

packageNamepackageName

省略可能 - 文字列Optional — string

逆引きドメイン表記でのこのアプリの一意の識別子。たとえば、com.example.myapp などです。A unique identifier for this app in reverse domain notation; for example, com.example.myapp. 最大長: 64 文字Maximum length: 64 characters.

localizationInfolocalizationInfo

オプション — オブジェクトOptional — object

既定の言語の指定と、追加の言語ファイルへのポインターを許可します。Allows the specification of a default language, as well as pointers to additional language files. ローカライズを 参照してくださいSee localization.

名前Name 最大サイズMaximum size 必須Required 説明Description
defaultLanguageTag このトップ レベルのマニフェスト ファイル内の文字列の言語タグ。The language tag of the strings in this top level manifest file.

localizationInfo.additionalLanguageslocalizationInfo.additionalLanguages

追加の言語翻訳を指定するオブジェクトの配列。An array of objects specifying additional language translations.

名前Name 最大サイズMaximum size 必須Required 説明Description
languageTag 指定されたファイル内の文字列の言語タグ。The language tag of the strings in the provided file.
file 翻訳された文字列を含む .json ファイルへの相対ファイル パス。A relative file path to a the .json file containing the translated strings.

アイコンicons

必須 — オブジェクトRequired — object

Teams アプリ内で使用されるアイコン。Icons used within the Teams app. アイコン ファイルは、アップロード パッケージの一部として含める必要があります。The icon files must be included as part of the upload package. 詳細 については、「アイコン 」を参照してください。See Icons for more information.

名前Name 最大サイズMaximum size 必須Required 説明Description
outline 32 x 32 ピクセル32 x 32 pixels 透明な 32x32 PNG アウトライン アイコンへの相対ファイル パス。A relative file path to a transparent 32x32 PNG outline icon.
color 192 x 192 ピクセル192 x 192 pixels フル カラーの 192x192 PNG アイコンへの相対ファイル パス。A relative file path to a full color 192x192 PNG icon.

accentColoraccentColor

省略可能 - HTML 16 進カラー コードOptional — HTML Hex color code

アウトライン アイコンと組み合わせて使用し、背景として使用する色。A color to use in conjunction with and as a background for your outline icons.

値は、'#' で始まる有効な HTML カラー コードである必要があります。次に例を示します #4464eeThe value must be a valid HTML color code starting with '#', for example #4464ee.

configurableTabsconfigurableTabs

省略可能 - 配列Optional — array

アプリエクスペリエンスにチーム チャネル タブ エクスペリエンスが含み、追加する前に追加の構成が必要な場合に使用されます。Used when your app experience has a team channel tab experience that requires extra configuration before it is added. 構成可能なタブはチーム スコープでのみサポートされ (個人用ではない)、現在サポートされているのはアプリごとに 1 つのタブのみです。Configurable tabs are supported only in the teams scope (not personal), and currently only one tab per app is supported.

名前Name Type 最大サイズMaximum size 必須Required 説明Description
configurationUrl stringstring 2048 文字2048 characters タブhttps://するときに使用する URL を指定します。The https:// URL to use when configuring the tab.
scopes 列挙型の配列array of enums 1 1 現在、構成可能なタブは、スコープ team とスコープのみを groupchat サポートしています。Currently, configurable tabs support only the team and groupchat scopes.
canUpdateConfiguration ブール値boolean タブの構成のインスタンスを作成後にユーザーが更新できるかどうかを示す値。A value indicating whether an instance of the tab's configuration can be updated by the user after creation. 既定値: true 。Default: true.
context 列挙型の配列array of enums 6 6 タブが contextItem サポートされる範囲のセット。The set of contextItem scopes where a tab is supported. 既定値: [channelTab, privateChatTab, meetingChatTab, meetingDetailsTab].Default: [channelTab, privateChatTab, meetingChatTab, meetingDetailsTab].
sharePointPreviewImage 文字列string 20482048 SharePoint で使用するタブ プレビュー イメージへの相対ファイル パス。A relative file path to a tab preview image for use in SharePoint. サイズ 1024x768。Size 1024x768.
supportedSharePointHosts 列挙型の配列array of enums 1 1 SharePoint でタブを使用する方法を定義します。Defines how your tab will be made available in SharePoint. オプション sharePointFullPage は次のとおりです。 sharePointWebPartOptions are sharePointFullPage and sharePointWebPart

staticTabsstaticTabs

省略可能 - 配列Optional — array

ユーザーが手動で追加することなく、既定で "ピン留め" できる一連のタブを定義します。Defines a set of tabs that can be "pinned" by default, without the user adding them manually. スコープ内で宣言された静的タブ personal は、常にアプリの個人用エクスペリエンスに固定されます。Static tabs declared in personal scope are always pinned to the app's personal experience. このスコープで宣言されている静的 team タブは現在サポートされていません。Static tabs declared in the team scope are currently not supported.

この項目は、型のすべての要素を持つ配列 (最大 16 要素) です objectThis item is an array (maximum of 16 elements) with all elements of the type object. このブロックは、静的タブ ソリューションを提供するソリューションでのみ必要です。This block is required only for solutions that provide a static tab solution.

名前Name Type 最大サイズMaximum size 必須Required 説明Description
entityId stringstring 64 文字64 characters タブが表示されるエンティティの一意の識別子。A unique identifier for the entity that the tab displays.
name 文字列string 128 文字128 characters チャネル インターフェイスのタブの表示名。The display name of the tab in the channel interface.
contentUrl 文字列string 次https:// Teams キャンバスに表示されるエンティティ UI を示す URL を指定します。The https:// URL that points to the entity UI to be displayed in the Teams canvas.
websiteUrl 文字列string ユーザー https://ブラウザーで表示することを選択した場合にポイントする URL を指定します。The https:// URL to point to if a user opts to view in a browser.
searchUrl 文字列string ユーザー https://の検索クエリを指す URL を指定します。The https:// URL to point to for a user's search queries.
scopes 列挙型の配列array of enums 1 1 現在、静的タブはスコープのみをサポートしています。つまり、個人用エクスペリエンスの一部としてのみ personal プロビジョニングできます。Currently, static tabs support only the personal scope, which means it can be provisioned only as part of the personal experience.
context 列挙型の配列array of enums 2 2 タブが contextItem サポートされる範囲のセット。The set of contextItem scopes where a tab is supported.

注意

タブに関連するコンテンツを表示したり、認証フローを開始したりするためにコンテキストに依存する情報が必要な場合は、「Microsoft Teams タブのコンテキストを取得する」を参照してくださいIf your tabs require context-dependent information to display relevant content or for initiating an authentication flow, see Get context for your Microsoft Teams tab.

botsbots

省略可能 - 配列Optional — array

既定のコマンド プロパティなどのオプションの情報と共に、ボット ソリューションを定義します。Defines a bot solution, along with optional information such as default command properties.

アイテムは、型のすべての要素を持つ配列 (現在、1 つのボットにつき 1 つのボットしか許可されていない要素の最大数 — ) です objectThe item is an array (maximum of only 1 element—currently only one bot is allowed per app) with all elements of the type object. このブロックは、ボット エクスペリエンスを提供するソリューションでのみ必要です。This block is required only for solutions that provide a bot experience.

名前Name Type 最大サイズMaximum size 必須Required 説明Description
botId stringstring 64 文字64 characters Bot Framework に登録された、ボット用の一意の Microsoft アプリ ID。The unique Microsoft app ID for the bot as registered with the Bot Framework. これは、アプリ全体の ID と同じ 場合がありますThis may well be the same as the overall app ID.
scopes 列挙型の配列array of enums 3 3 ボットがエクスペリエンスを提供するのは、team 内のチャネルのコンテキスでなのか、グループ チャット (groupchat) でなのか、あるいは個別のユーザーのみをエクスペリエンスの対象にする (personal) のかを指定します。Specifies whether the bot offers an experience in the context of a channel in a team, in a group chat (groupchat), or an experience scoped to an individual user alone (personal). これらのオプションは非排他的です。These options are non-exclusive.
needsChannelSelector ブール値boolean ボットを特定のチャネルに追加するためのユーザー用ヒントをボットで使用するかどうかの説明。Describes whether or not the bot utilizes a user hint to add the bot to a specific channel. 既定値: falseDefault: false
isNotificationOnly ブール値boolean ボットが会話ボットではなく、一方向性の通知専用ボットなのかどうかを示します。Indicates whether a bot is a one-way, notification-only bot, as opposed to a conversational bot. 既定値: falseDefault: false
supportsFiles ブール値boolean パーソナル チャットでのファイルのアップロード/ダウンロード機能をボットでサポートするかどうかを示します。Indicates whether the bot supports the ability to upload/download files in personal chat. 既定値: falseDefault: false
supportsCalling ブール値boolean ボットが音声通話をサポートする場所を示す値。A value indicating where a bot supports audio calling. 重要: このプロパティは現在試験的です。IMPORTANT: This property is currently experimental. 試験的なプロパティは完全ではなく、完全に使用可能になる前に変更が発生する可能性があります。Experimental properties may not be complete, and may undergo changes before becoming fully available. テストと調査のみを目的として提供され、実稼働アプリケーションでは使用できません。It is provided for testing and exploration purposes only and should not be used in production applications. 既定値: falseDefault: false
supportsVideo ブール値boolean ボットがビデオ通話をサポートする場所を示す値。A value indicating where a bot supports video calling. 重要: このプロパティは現在試験的です。IMPORTANT: This property is currently experimental. 試験的なプロパティは完全ではなく、完全に使用可能になる前に変更が発生する可能性があります。Experimental properties may not be complete, and may undergo changes before becoming fully available. テストと調査のみを目的として提供され、実稼働アプリケーションでは使用できません。It is provided for testing and exploration purposes only and should not be used in production applications. 既定値: falseDefault: false

bots.commandListsbots.commandLists

ボットがユーザーに推奨できるコマンドのオプションの一覧。An optional list of commands that your bot can recommend to users. オブジェクトは、型のすべての要素を持つ配列 (最大 2 つの要素) です。ボットがサポートするスコープごとに個別のコマンド リストを定義 object する必要があります。The object is an array (maximum of 2 elements) with all elements of type object; you must define a separate command list for each scope that your bot supports. 詳細 については、「ボット メニュー 」を参照してください。See Bot menus for more information.

名前Name Type 最大サイズMaximum size 必須Required 説明Description
items.scopes 列挙型の配列array of enums 3 3 コマンド リストが有効なスコープを指定します。Specifies the scope for which the command list is valid. teampersonalgroupchat の中から選択できます。Options are team, personal, and groupchat.
items.commands オブジェクトの配列array of objects 10 10 ボットがサポートするコマンドの配列:An array of commands the bot supports:
title: ボット コマンドの名前 (文字列、32)title: the bot command name (string, 32)
description: コマンドの構文およびその構文の引数
の簡単な説明または例 (文字列、128)description: a simple description or example of the command syntax and its argument (string, 128)

bots.commandLists.commandsbots.commandLists.commands

名前Name Type 最大サイズMaximum size 必須Required 説明Description
titletitle stringstring 12 12 ボット コマンド名The bot command name
説明description stringstring 128 文字128 characters 単純なテキストの説明、またはコマンド構文とその引数の例。A simple text description or an example of the command syntax and its arguments.

コネクタconnectors

省略可能 - 配列Optional — array

ブロック connectors は、アプリの Office 365 コネクタを定義します。The connectors block defines an Office 365 Connector for the app.

オブジェクトは、すべての種類の要素を持つ配列 (最大 1 つの要素) です objectThe object is an array (maximum of 1 element) with all elements of type object. このブロックは、コネクタを提供するソリューションでのみ必要です。This block is required only for solutions that provide a Connector.

名前Name Type 最大サイズMaximum size 必須Required 説明Description
configurationUrl stringstring 2048 文字2048 characters コネクタhttps://するときに使用する URL を指定します。The https:// URL to use when configuring the connector.
scopes 列挙型の配列array of enums 1 1 コネクタがチャネルのコンテキストでエクスペリエンスを提供するか、または個々のユーザーを対象範囲としたエクスペリエンス team () を提供するかどうかを指定します personalSpecifies whether the Connector offers an experience in the context of a channel in a team, or an experience scoped to an individual user alone (personal). 現時点では、 team スコープだけがサポートされています。Currently, only the team scope is supported.
connectorId 文字列string 64 文字64 characters コネクタ開発者ダッシュボードの ID と一致するコネクタの一 意の識別子A unique identifier for the Connector that matches its ID in the Connectors Developer Dashboard.

composeExtensionscomposeExtensions

省略可能 - 配列Optional — array

アプリのメッセージング拡張機能を定義します。Defines a messaging extension for the app.

注意

この機能の名前は、2017 年 11 月に "作成拡張機能" から "メッセージング拡張機能" に変更されましたが、既存の拡張機能が引き続き機能するように、マニフェスト名は変わりません。The name of the feature was changed from "compose extension" to "messaging extension" in November, 2017, but the manifest name remains the same so that existing extensions continue to function.

アイテムは、すべての型の要素を持つ配列 (最大 1 つの要素) です objectThe item is an array (maximum of 1 element) with all elements of type object. このブロックは、メッセージング拡張機能を提供するソリューションでのみ必要です。This block is required only for solutions that provide a messaging extension.

名前Name 種類Type 最大サイズMaximum Size 必須Required 説明Description
botId stringstring 6464 Bot Framework に登録されている、メッセージング拡張機能をサポートするボットの一意の Microsoft アプリ ID。The unique Microsoft app ID for the bot that backs the messaging extension, as registered with the Bot Framework. これは、アプリ全体の ID と同じ場合があります。This may well be the same as the overall App ID.
commands オブジェクトの配列array of objects 10 10 メッセージング拡張機能がサポートするコマンドの配列Array of commands the messaging extension supports
canUpdateConfiguration ブール値boolean ユーザーがメッセージング拡張機能の構成を更新できるかどうかを示す値。A value indicating whether the configuration of a messaging extension can be updated by the user. 既定値: falseDefault: false.
messageHandlers オブジェクトの配列array of Objects 5 5 特定の条件が満たされた場合にアプリを呼び出すことができるハンドラーの一覧。A list of handlers that allow apps to be invoked when certain conditions are met.
messageHandlers.type 文字列string メッセージ ハンドラーの種類。The type of message handler. "link" である必要があります。Must be "link".
messageHandlers.value.domains 文字列の配列array of Strings リンク メッセージ ハンドラーが登録できるドメインの配列。Array of domains that the link message handler can register for.

composeExtensions.commandscomposeExtensions.commands

メッセージング拡張機能では、1 つ以上のコマンドを宣言する必要があります。Your messaging extension should declare one or more commands. 各コマンドは、UI ベースのエントリ ポイントからの潜在的な対話操作として Microsoft Teams に表示されます。Each command appears in Microsoft Teams as a potential interaction from the UI-based entry point. 最大 10 のコマンドがあります。There is a maximum of 10 commands.

各コマンド項目は、次の構造を持つオブジェクトです。Each command item is an object with the following structure:

名前Name Type 最大サイズMaximum size 必須Required 説明Description
id stringstring 64 文字64 characters コマンドの ID。The ID for the command.
title 文字列string 32 文字32 characters ユーザーに分かしいコマンド名。The user-friendly command name.
type 文字列string 64 文字64 characters コマンドの種類。Type of the command. 次のいずれかを query 指定します actionOne of query or action. 既定値: クエリ です。Default: query.
description 文字列string 128 文字128 characters このコマンドの目的を示すためにユーザーに表示される説明。The description that appears to users to indicate the purpose of this command.
initialRun ブール値boolean パラメーターを指定してコマンドを最初に実行するかどうかを示すブール値。A boolean value that indicates whether the command should be run initially with no parameters. 既定値: falseDefault: false.
context 文字列の配列array of Strings 3 3 メッセージ拡張を呼び出すことができる場所を定義します。Defines where the message extension can be invoked from. compose, の任意の組 commandBox み合 message わせ。Any combination ofcompose,commandBox,message . 既定値は ["compose","commandBox"] です。Default is ["compose","commandBox"].
fetchTask ブール値boolean タスク モジュールを動的にフェッチする必要かどうかを示すブール値。A boolean value that indicates if it should fetch the task module dynamically. 既定値: falseDefault: false.
taskInfo objectobject メッセージング拡張機能コマンドを使用するときに事前読み込むタスク モジュールを指定します。Specify the task module to pre-load when using a messaging extension command.
taskInfo.title 文字列string 64 文字64 characters 最初のダイアログ タイトル。Initial dialog title.
taskInfo.width 文字列string ダイアログの幅: ピクセル単位の数値、または 'large'、'medium'、'small' などの既定のレイアウトのどちらかです。Dialog width - either a number in pixels or default layout such as 'large', 'medium', or 'small'.
taskInfo.height 文字列string ダイアログの高さ : ピクセル単位の数値、または 'large'、'medium'、'small' などの既定のレイアウトのどちらかです。Dialog height - either a number in pixels or default layout such as 'large', 'medium', or 'small'.
taskInfo.url 文字列string 最初の Webview URL。Initial webview URL.
parameters オブジェクトの配列array of object 5 アイテム5 items コマンドが受け取るパラメーターの一覧。The list of parameters the command takes. 最小: 1;最大: 5。Minimum: 1; maximum: 5.
parameters.name 文字列string 64 文字64 characters クライアントに表示されるパラメーターの名前。The name of the parameter as it appears in the client. これはユーザー要求に含まれます。This is included in the user request.
parameters.title 文字列string 32 文字32 characters パラメーターのユーザー フレンドリーなタイトル。User-friendly title for the parameter.
parameters.description 文字列string 128 文字128 characters このパラメーターの目的を説明するユーザー フレンドリーな文字列。User-friendly string that describes this parameter’s purpose.
parameters.value 文字列string 512 文字512 characters パラメーターの初期値。Initial value for the parameter.
parameters.inputType 文字列string 128 文字128 characters タスク モジュールに表示されるコントロールの種類を定義します fetchTask: trueDefines the type of control displayed on a task module forfetchTask: true . の 1 つ text, textarea, number, date, time, toggle, choicesetOne of text, textarea, number, date, time, toggle, choiceset .
parameters.choices オブジェクトの配列array of objects 10 アイテム10 items The choice options for the choiceset .The choice options for thechoiceset. 次の場合にのみ parameter.inputType 使用します choicesetUse only whenparameter.inputType is choiceset.
parameters.choices.title 文字列string 128 文字128 characters 選択したタイトル。Title of the choice.
parameters.choices.value 文字列string 512 文字512 characters Value of the choice.Value of the choice.

アクセス許可permissions

オプション - 文字列の配列Optional — array of strings

アプリが要求するアクセス許可を指定する配列です。エンド ユーザーは拡張機能の実行 string 方法を知っています。An array of string which specifies which permissions the app requests, which lets end users know how the extension will perform. 次のオプションは非排他的です。The following options are non-exclusive:

  • identity ユーザー ID 情報が必要identity   Requires user identity information
  • messageTeamMembers チーム メンバーに直接メッセージを送信するためのアクセス許可が必要messageTeamMembers   Requires permission to send direct messages to team members

アプリの更新時にこれらのアクセス許可を変更すると、ユーザーは更新されたアプリを初めて実行するときに同意プロセスを繰り返す必要があります。Changing these permissions when updating your app will cause your users to repeat the consent process the first time they run the updated app. しくは、「アプリの更新」 をご覧ください。See Updating your app for more information.

devicePermissionsdevicePermissions

省略 可能 - 文字列の配列Optional — array of strings

アプリがアクセスを要求できるユーザーのデバイスのネイティブ機能を指定します。Specifies the native features on a user's device that your app may request access to. オプションは、次のとおりです。Options are:

  • geolocation
  • media
  • notifications
  • midi
  • openExternal

validDomainsvalidDomains

省略 可能 。ただし 、省略可能 (省略可能 )、省略可能 (省略可能)、省略可能 (省略Optional, except Required where noted

アプリが Teams クライアント内で読み込む Web サイトの有効なドメインの一覧。A list of valid domains for websites the app expects to load within the Teams client. ドメイン一覧には、ワイルドカードを含めできます *.example.comDomain listings can include wildcards, for example *.example.com. これは、ドメインの 1 つのセグメントと正確に一致します。if you need to match a.b.example.com then use *.*.example.com .This matches exactly one segment of the domain; if you need to match a.b.example.com then use *.*.example.com. タブ構成またはコンテンツ UI で、タブ構成に使用するドメイン以外のドメインに移動する必要がある場合は、ここでそのドメインを指定する必要があります。If your tab configuration or content UI needs to navigate to any other domain besides the one use for tab configuration, that domain must be specified here.

ただし、 アプリ でサポートする ID プロバイダーのドメインを含める必要はありません。It is not necessary to include the domains of identity providers you want to support in your app, however. たとえば、Google ID を使用して認証するには、accounts.google.com にリダイレクトする必要がありますが、accounts.google.com含めず validDomains[] にしてください。For example, to authenticate using a Google ID, it's necessary to redirect to accounts.google.com, but you should not include accounts.google.com in validDomains[].

機能するために独自の SharePoint URL を必要とする Teams アプリでは、有効なドメイン リストに "{teamsitedomain}" が含まれる場合があります。Teams apps that require their own sharepoint URLs to function well, may include "{teamsitedomain}" in their valid domain list.

重要

直接またはワイルドカードを介して、制御の外部にあるドメインを追加しません。Do not add domains that are outside your control, either directly or via wildcards. たとえば、有効 yourapp.onmicrosoft.com ですが、 *.onmicrosoft.com 無効です。For example, yourapp.onmicrosoft.com is valid, but *.onmicrosoft.com is not valid.

オブジェクトは、型のすべての要素を持つ配列です stringThe object is an array with all elements of the type string.

webApplicationInfowebApplicationInfo

オプション — オブジェクトOptional — object

Azure Active Directory (Azure AD) アプリ ID と Microsoft Graph 情報を指定して、ユーザーがアプリにシームレスにサインインするのに役立ちます。Specify your Azure Active Directory (Azure AD) App ID and Microsoft Graph information to help users seamlessly sign into your app. アプリが Azure AD に登録されている場合、管理者が Teams 管理センターでアクセス許可を簡単に確認し、同意を与えできるよう、アプリ ID を指定する必要があります。If your app is registered in Azure AD, you must provide the App ID, so that administrators can easily review permissions and grant consent in Teams admin center.

名前Name Type 最大サイズMaximum size 必須Required 説明Description
id stringstring 36 文字36 characters アプリの AAD アプリケーション ID。AAD application id of the app. この ID は GUID である必要があります。This id must be a GUID.
resource 文字列string 2048 文字2048 characters SSO の認証トークンを取得するためのアプリのリソース URL。Resource URL of app for acquiring auth token for SSO.
注: SSO を使用していない場合は、エラー応答を回避するために、このフィールドにダミー文字列値をアプリ マニフェストに入力 https://notapplicable してください。NOTE: If you are not using SSO, ensure that you enter a dummy string value in this field to your app manifest, for example, https://notapplicable to avoid an error response.
applicationPermissions 文字列の配列array of strings 128 文字128 characters 詳細なリソース 固有の同意を指定しますSpecify granular resource specific consent.

showLoadingIndicatorshowLoadingIndicator

省略可能 - ブール値Optional — boolean

アプリ/タブの読み込み中に読み込みインジケーターを表示するかどうかを指定します。Indicate whether or not to show the loading indicator when an app/tab is loading. 既定値: falseDefault: false.

注意

アプリ マニフェストで "showLoadingIndicator : true" を設定した場合、ページが正しく読み込まれます。「ネイティブ読み込みインジケーター ドキュメントを表示する」で説明されているプロトコルに従って、タブとタスク モジュールのコンテンツ ページを変更する必要があります。If you set "showLoadingIndicator : true" in your app manifest, then for the page to load correctly, you must modify the content pages of your tabs and task modules as per the protocol described in Show a native loading indicator document.

isFullScreenisFullScreen

省略可能 - ブール値Optional — boolean

個人用アプリがタブ ヘッダー バーを使用してレンダリングされる場所またはタブ ヘッダー バーなしで表示される場所を示します。Indicate where a personal app is rendered with or without a tab-header bar. 既定値: falseDefault: false.

アクティビティactivities

オプション — オブジェクトOptional — object

アプリがユーザー アクティビティ フィードに投稿するために使用するプロパティを定義します。Define the properties your app will use to post to a user activity feed.

名前Name Type 最大サイズMaximum size 必須Required 説明Description
activityTypes オブジェクトの配列array of Objects 128 アイテム128 items アプリがユーザー アクティビティ フィードに投稿できるアクティビティの種類を指定します。Specify the types of activities that your app can post to a users activity feed.

activities.activityTypesactivities.activityTypes

名前Name Type 最大サイズMaximum size 必須Required 説明Description
type stringstring 32 文字32 characters 通知の種類。The notification type. 以下を参照してくださいSee below.
description 文字列string 128 文字128 characters 通知の簡単な説明。A brief description of the notification. 以下を参照してくださいSee below.
templateText 文字列string 128 文字128 characters 例: "{actor} created task {taskId} for you"Ex: "{actor} created task {taskId} for you"
{
   "activities":{
      "activityTypes":[
         {
            "type":"taskCreated",
            "description":"Task Created Activity",
            "templateText":"{actor} created task {taskId} for you"
         },
         {
            "type":"teamMention",
            "description":"Team Mention Activity",
            "templateText":"{actor} mentioned team"
         },
         {
            "type":"channelMention",
            "description":"Channel Mention Activity",
            "templateText":"{actor} mentioned channel"
         },
         {
            "type":"userMention",
            "description":"Personal Mention Activity",
            "templateText":"{actor} mentioned user"
         },
         {
            "type":"calendarForward",
            "description":"Forwarding a Calendar Event",
            "templateText":"{actor} sent user an invite on behalf of {eventOwner}"
         },
         {
            "type":"calendarForward",
            "description":"Forwarding a Calendar Event",
            "templateText":"{actor} sent user an invite on behalf of {eventOwner}"
         },
         {
            "type":"creatorTaskCreated",
            "description":"Created Task Created",
            "templateText":"The Creator created task {taskId} for you"
         }
      ]
   }
}