TeamsApp を発行する

名前空間: microsoft.graph

Microsoft Teams アプリ カタログにアプリを発行します。 具体的には、この API はアプリをorganizationのカタログ (テナント アプリ カタログ) に発行します。作成されたリソースの distributionMethod プロパティ値organizationは です。

requiresReview プロパティを使用すると、すべてのユーザーが管理者によるレビューのためにアプリを送信できます。 管理者は、この API または Microsoft Teams 管理センターを使用して、これらのアプリを承認または拒否できます。

この API は、次の国内クラウド展開で使用できます。

グローバル サービス 米国政府機関 L4 米国政府機関 L5 (DOD) 21Vianet が運営する中国

アクセス許可

この API を呼び出すには、次のいずれかのアクセス許可が必要です。 アクセス許可の選択方法などの詳細については、「アクセス許可」を参照してください。

アクセス許可の種類 アクセス許可 (特権の小さいものから大きいものへ)
委任 (職場または学校のアカウント) AppCatalog.Submit, AppCatalog.ReadWrite.All, Directory.ReadWrite.All**
委任 (個人用 Microsoft アカウント) サポートされていません。
アプリケーション サポートされていません。

: ** でマークされたアクセス許可は、下位互換性のためにのみサポートされています。 前の表に記載されている別のアクセス許可を使用するようにソリューションを更新し、今後これらのアクセス許可を使用しないようにすることをお勧めします。

HTTP 要求

POST /appCatalogs/teamsApps

レビューを必要とするアプリを発行するには:

POST /appCatalogs/teamsApps?requiresReview={Boolean}

クエリ パラメーター

プロパティ 説明
requiresReview ブール型 このオプションのクエリ パラメーターは、アプリ レビュー プロセスをトリガーします。 管理者特権を持つユーザーは、レビューをトリガーせずにアプリを送信できます。 ユーザーが発行する前にレビューを要求する場合は、 requiresReview を に設定する true必要があります。 管理者特権を持つユーザーは、 requiresReview を設定しないか、 値を に false 設定することを選択でき、アプリは承認されたと見なされ、すぐに発行されます。

要求ヘッダー

ヘッダー
Authorization ベアラー {token}。 必須です。 認証と承認の詳細については、こちらをご覧ください。
Content-Type application/zip。 必須です。

要求本文

要求本文に、Teams zip マニフェスト ペイロードを含めます。 詳細については、「 アプリ パッケージの作成」を参照してください。

アプリ カタログ内の各アプリには、一意のマニフェスト ID が必要です。

応答

成功した場合、このメソッドは 200 OK 応答コードと teamsApp オブジェクトを返します。 アプリ マニフェストに検証エラーがある場合、要求はスキーマ エラーに関する詳細を含むエラー応答を返します。

例 1: アプリ カタログにアプリを発行する

要求

次の例は要求を示しています。

POST https://graph.microsoft.com/v1.0/appCatalogs/teamsApps
Content-type: application/zip

[Zip file containing a Teams app package]

Microsoft Teams アプリケーションの zip ファイルを作成する方法については、「 アプリ パッケージの作成」を参照してください。

応答

次の例は応答を示しています。

HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": "e3e29acb-8c79-412b-b746-e6c39ff4cd22",
  "externalId": "b5561ec9-8cab-4aa3-8aa2-d8d7172e4311",
  "displayName": "Test App",
  "distributionMethod": "organization"
}

例 2: レビュー用の新しいアプリケーションをorganizationのアプリ カタログにアップロードする

要求

次の例は要求を示しています。

POST https://graph.microsoft.com/v1.0/appCatalogs/teamsApps?requiresReview=true
Content-type: application/zip

応答

次の例は応答を示しています。

HTTP/1.1 201 Created
Location: https://graph.microsoft.com/v1.0/appCatalogs/teamsApps/e3e29acb-8c79-412b-b746-e6c39ff4cd22

{
  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#appCatalogs/teamsApps/$entity",
  "id": "e3e29acb-8c79-412b-b746-e6c39ff4cd22",
  "externalId": "b5561ec9-8cab-4aa3-8aa2-d8d7172e4311",
  "displayName": "Test App",
  "distributionMethod": "organization"
}

例 3: アプリのレビュー待ちを承認または拒否する

要求

次の例は要求を示しています。

PATCH https://graph.microsoft.com/v1.0/appCatalogs/teamsApps/a761ad07-22ef-4a53-9feb-2837c8ad4a84/appDefinitions/YTc2MWFkMDctMjJlZi00YTUzLTlmZWItMjgzN2M4YWQ0YTg0IyMxLjEuOCMjU3VibWl0dGVk
Content-type: application/json
If-Match: InFtSStsNVJHVWdzWUJRU2ZVWGp4RWc9PSI=

{
  "publishingState":"published"
}

応答

次の例は応答を示しています。

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#appCatalogs/teamsApps('a761ad07-22ef-4a53-9feb-2837c8ad4a84')/appDefinitions/$entity",
    "id": "YTc2MWFkMDctMjJlZi00YTUzLTlmZWItMjgzN2M4YWQ0YTg0IyMxLjEuOCMjUHVibGlzaGVk",
    "teamsAppId": "a761ad07-22ef-4a53-9feb-2837c8ad4a84",
    "azureADAppId": null,
    "displayName": "Ducks",
    "version": "1.1.8",
    "requiredResourceSpecificApplicationPermissions": [],
    "publishingState": "published",
    "shortDescription": "quaerat quasi magnam. slight change. 5",
    "description": "Aliquid placeat animi debitis accusamus. Non perferendis ullam. Quis est consequuntur vitae provident. Sunt laudantium id aut. slight change 5",
    "lastModifiedDateTime": null,
    "createdBy": null
}

例 4: アプリ マニフェストでエラーが発生してアプリ カタログにアプリを発行する

要求

次の例は要求を示しています。

POST https://graph.microsoft.com/v1.0/appCatalogs/teamsApps
Content-type: application/zip

[Zip file containing a Teams app package]

応答

次の例は応答を示しています。

HTTP/1.1 200 OK
Content-type: application/json

{
    "error": {
        "code": "BadRequest",
        "message": "name | Required properties are missing from object: [].; developer.websiteUrl | String \"hs://www.yo.com\" does not match regex pattern \"^[Hh][Tt][Tt][Pp][Ss]?://\".",
        "innerError": {
            "code": "UnableToParseTeamsAppManifest",
            "message": "name | Required properties are missing from object: [].; developer.websiteUrl | String \"hs://www.yo.com\" does not match regex pattern \"^[Hh][Tt][Tt][Pp][Ss]?://\".",
            "details": [
                {
                    "code": "SchemaError_Required",
                    "message": "Required properties are missing from object: [].",
                    "target": "name"
                },
                {
                    "code": "SchemaError_Pattern",
                    "message": "String \"hs://www.yo.com\" does not match regex pattern \"^[Hh][Tt][Tt][Pp][Ss]?://\".",
                    "target": "developer.websiteUrl"
                }
            ],
            "date": "2024-01-18T21:47:58",
            "request-id": "d1878136-bc88-421a-b342-c3d883db31a1",
            "client-request-id": "d1878136-bc88-421a-b342-c3d883db31a1"
        }
    }
}