チャネルを作成する

名前空間: microsoft.graph

重要

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

要求本文で指定されているように、チームに新しい チャネル を作成します。 チャネルを作成する場合、チャネル displayName の最大長は 50 文字です。 この表示名は、Microsoft Teams のユーザーに表示されます。

プライベート チャネルを作成するときに、最大 200 人のメンバーを追加できます。

注:

  • チャネル名の一部の特殊文字では、 Get filesFolder API からエラーが返されます。 詳細については、「既知の問題」を参照してください。
  • プライベート/共有チャネルを作成すると、SharePoint サイトのプロビジョニングが失敗する可能性があります。 サイトが 5 分後にプロビジョニングに失敗した場合は、 Get filesFolder API を使用してプロビジョニングをトリガーします。

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

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

アクセス許可

この API の最小特権としてマークされているアクセス許可またはアクセス許可を選択します。 アプリで必要な場合にのみ、より高い特権のアクセス許可またはアクセス許可を使用します。 委任されたアクセス許可とアプリケーションのアクセス許可の詳細については、「 アクセス許可の種類」を参照してください。 これらのアクセス許可の詳細については、 アクセス許可のリファレンスを参照してください

この API では、管理者のアクセス許可がサポートされています。 グローバル管理者と Microsoft Teams サービス管理者は、メンバーではないチームにアクセスできます。

アクセス許可の種類 最小特権アクセス許可 特権の高いアクセス許可
委任 (職場または学校のアカウント) Channel.Create Directory.ReadWrite.All、Group.ReadWrite.All
委任 (個人用 Microsoft アカウント) サポートされていません。 サポートされていません。
アプリケーション Channel.Create.Group Channel.Create、Directory.ReadWrite.All、Group.ReadWrite.All、Teamwork.Migrate.All

注:

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

: 今後、お客様またはお客様は、Teamwork.Migrate.All および/または 移行 API を使用してインポートされたデータの量に基づいて追加料金を支払う必要があります。

HTTP 要求

POST /teams/{team-id}/channels

要求ヘッダー

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

要求本文

要求本文で、 チャネル オブジェクトの JSON 表現を指定します。

応答

成功した場合、このメソッドは、membershipTypestandardが または privateチャネルの応答コードとチャネル オブジェクトを応答本文に返201 Createdします。 membershipType 値が のチャネルのshared場合、このメソッドは応答コードと teamsAsyncOperation へのリンクを返202 Acceptedします。

要求が失敗した場合、このメソッドは 400 Bad Request 応答コードを返します。 この回答の一般的な理由は次のとおりです。

  • createdDateTimeは未来の日付に設定されています。
  • createdDateTime は正しく指定されていますが、 channelCreationMode インスタンス属性が見つからないか、無効な値に設定されています。

例 1: 標準チャネルを作成する

要求

次の例は、標準チャネルを作成する要求を示しています。

POST https://graph.microsoft.com/beta/teams/57fb72d0-d811-46f4-8947-305e6072eaa5/channels
Content-type: application/json

{
  "displayName": "Architecture Discussion",
  "description": "This channel is where we debate all future architecture plans",
  "membershipType": "standard"
}

応答

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

注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。

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

{
  "id": "19:4b6bed8d24574f6a9e436813cb2617d8@thread.tacv2",
  "displayName": "Architecture Discussion",
  "description": "This channel is where we debate all future architecture plans"
}

例 2: ユーザーの代わりにプライベート チャネルを作成する

要求

次の例は、プライベート チャネルを作成し、チーム所有者としてユーザーを追加する要求を示しています。

POST https://graph.microsoft.com/beta/teams/57fb72d0-d811-46f4-8947-305e6072eaa5/channels
Content-type: application/json

{
  "@odata.type": "#Microsoft.Graph.channel",
  "membershipType": "private",
  "displayName": "My First Private Channel",
  "description": "This is my first private channels",
  "members":
     [
        {
           "@odata.type":"#microsoft.graph.aadUserConversationMember",
           "user@odata.bind":"https://graph.microsoft.com/beta/users('62855810-484b-4823-9e01-60667f8b12ae')",
           "roles":["owner"]
        }
     ]
}

メモ: チャネルにゲスト アカウントを追加するには、 roles プロパティの 値 guestを使用します。

応答

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

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

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#teams('57fb72d0-d811-46f4-8947-305e6072eaa5')/channels/$entity",
    "id": "19:33b76eea88574bd1969dca37e2b7a819@thread.skype",
    "displayName": "My First Private Channel",
    "description": "This is my first private channels",
    "isFavoriteByDefault": null,
    "email": "",
    "webUrl": "https://teams.microsoft.com/l/channel/19:33b76eea88574bd1969dca37e2b7a819@thread.skype/My%20First%20Private%20Channel?groupId=57fb72d0-d811-46f4-8947-305e6072eaa5&tenantId=0fddfdc5-f319-491f-a514-be1bc1bf9ddc",
    "membershipType": "private"
}

例 3: 移行モードでチャネルを作成する

要求

次の例は、メッセージをインポートするためのチャネルを作成する方法を示しています。

POST https://graph.microsoft.com/beta/teams/57fb72d0-d811-46f4-8947-305e6072eaa5/channels
Content-Type: application/json

{
  "@microsoft.graph.channelCreationMode": "migration",
  "displayName": "Import_150958_99z",
  "description": "Import_150958_99z",
  "createdDateTime": "2020-03-14T11:22:17.067Z"
}

応答

次の例は応答を示しています。 応答のヘッダーは Content-Location 、プロビジョニングされているチャネルへのパスを指定します。 プロビジョニングが完了すると、このチャネルを使用して メッセージをインポートできます。

HTTP/1.1 201 Created
Location: /teams('57fb72d0-d811-46f4-8947-305e6072eaa5')/channels('19:4b6bed8d24574f6a9e436813cb2617d8@thread.tacv2')

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#teams('57fb72d0-d811-46f4-8947-305e6072eaa5')/channels/$entity",
    "id": "19:987c7a9fbe6447ccb3ea31bcded5c75c@thread.tacv2",
    "createdDateTime": null,
    "displayName": "Import_150958_99z",
    "description": "Import_150958_99z",
    "isFavoriteByDefault": null,
    "email": null,
    "webUrl": null,
    "membershipType": null,
    "moderationSettings": null
}

例 4: モデレーション設定を使用して標準チャネルを作成する

要求

次の例は、モデレート設定を使用して標準チャネルを作成する要求を示しています。 この操作は、標準チャネルに対してのみ実行できます。

POST https://graph.microsoft.com/beta/teams/57fb72d0-d811-46f4-8947-305e6072eaa5/channels
Content-type: application/json

{
    "displayName": "TestChannelModeration",
    "description": "Test channel moderation.",
    "membershipType": "standard",
    "moderationSettings": {
        "userNewMessageRestriction": "everyoneExceptGuests",
        "replyRestriction": "everyone",
        "allowNewMessageFromBots": true,
        "allowNewMessageFromConnectors": true
    }
}

応答

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

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

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#teams('57fb72d0-d811-46f4-8947-305e6072eaa5')/channels/$entity",
    "id": "19:12b76eea88574bd1969dca37e2b7a819@thread.skype",
    "displayName": "My First Private Channel",
    "description": "This is my first private channels",
    "isFavoriteByDefault": null,
    "email": "",
    "webUrl": "https://teams.microsoft.com/l/channel/19:12b76eea88574bd1969dca37e2b7a819@thread.skype/My%20First%20Private%20Channel?groupId=57fb72d0-d811-46f4-8947-305e6072eaa5&tenantId=0fddfdc5-f319-491f-a514-be1bc1bf9ddc",
    "membershipType": "standard"
}

例 5: ユーザー プリンシパル名を使用してユーザーの代わりにプライベート チャネルを作成する

要求

次の例は、プライベート チャネルを作成し、チーム所有者としてユーザーを追加する要求を示しています。

POST https://graph.microsoft.com/beta/teams/57fb72d0-d811-46f4-8947-305e6072eaa5/channels
Content-type: application/json

{
  "@odata.type": "#Microsoft.Graph.channel",
  "membershipType": "private",
  "displayName": "My First Private Channel",
  "description": "This is my first private channels",
  "members":
     [
        {
           "@odata.type":"#microsoft.graph.aadUserConversationMember",
           "user@odata.bind":"https://graph.microsoft.com/beta/users('jacob@contoso.com')",
           "roles":["owner"]
        }
     ]
}

メモ: チャネルにゲスト アカウントを追加するには、 roles プロパティの 値 guestを使用します。

応答

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

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

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#teams('57fb72d0-d811-46f4-8947-305e6072eaa5')/channels/$entity",
    "id": "19:33b76eea88574bd1969dca37e2b7a819@thread.skype",
    "displayName": "My First Private Channel",
    "description": "This is my first private channels",
    "isFavoriteByDefault": null,
    "email": "",
    "webUrl": "https://teams.microsoft.com/l/channel/19:33b76eea88574bd1969dca37e2b7a819@thread.skype/My%20First%20Private%20Channel?groupId=57fb72d0-d811-46f4-8947-305e6072eaa5&tenantId=0fddfdc5-f319-491f-a514-be1bc1bf9ddc",
    "membershipType": "private"
}

例 6: ユーザーの代わりに共有チャネルを作成する

要求

次の例は、共有チャネルを作成する方法を示しています。

POST https://graph.microsoft.com/beta/teams/57fb72d0-d811-46f4-8947-305e6072eaa5/channels
Content-type: application/json

{
  "displayName": "My First Shared Channel",
  "description": "This is my first shared channel",
  "membershipType": "shared",
  "members": [
    {
      "@odata.type": "#microsoft.graph.aadUserConversationMember",
      "user@odata.bind": "https://graph.microsoft.com/beta/users('7640023f-fe43-gv3f-9gg4-84a9efe4acd6')",
      "roles": [
        "owner"
      ]
    }
  ]
}

メモ: チャネルにゲスト アカウントを追加するには、 roles プロパティの 値 guestを使用します。

応答

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

HTTP/1.1 202 Accepted
Content-Type: application/json
Content-Location: /teams/7640023f-fe43-4cc7-9bd3-84a9efe4acd6/operations/359d75f6-2bb8-4785-ab2d-377bf3d573fa
Content-Length: 0

例 7: ホスト チームと共有する共有チャネルを作成する

要求

次の例は、ホスト チームと共有されている共有チャネルを作成する方法を示しています。

POST https://graph.microsoft.com/beta/teams/57fb72d0-d811-46f4-8947-305e6072eaa5/channels
Content-type: application/json

{
  "displayName": "My First Shared Channel",
  "description": "This is my first shared channel",
  "membershipType": "shared",
  "members": [
    {
      "@odata.type": "#microsoft.graph.aadUserConversationMember",
      "user@odata.bind": "https://graph.microsoft.com/beta/users('7640023f-fe43-gv3f-9gg4-84a9efe4acd6')",
      "roles": [
        "owner"
      ]
    }
  ],
  "sharedWithTeams":[
    {
      "id": "57fb72d0-d811-46f4-8947-305e6072eaa5"
    }
  ]
}

応答

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

HTTP/1.1 202 Accepted
Content-Type: application/json
Content-Location: /teams/7640023f-fe43-4cc7-9bd3-84a9efe4acd6/operations/359d75f6-2bb8-4785-ab2d-377bf3d573fa
Content-Length: 0