TeamsApp を発行する

名前空間: microsoft.graph

重要

Microsoft Graph の /beta バージョンの API は変更される可能性があります。 実稼働アプリケーションでこれらの API を使用することは、サポートされていません。 v1.0 で API を使用できるかどうかを確認するには、Version セレクターを使用します。

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 アカウント) サポートされていません。 サポートされていません。
アプリケーション サポートされていません。 サポートされていません。

注:

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

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/beta/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/beta/appCatalogs/teamsApps?requiresReview=true
Content-type: application/zip

応答

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

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

{
  "@odata.context": "https://graph.microsoft.com/beta/$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/beta/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/beta/$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"
        }
    }
}