Members

A member リソースは、YouTube チャンネルのチャンネル メンバーを表します。メンバーはクリエイターに定期的に金銭的なサポートを提供し、特別な 特典を受け取ります。たとえば、クリエイターがチャットのメンバー限定モードをオンにすると、メンバーはチャットに参加できます。

次のアクセス制限が適用されます。

  • members エンドポイントと membershipsLevels エンドポイントへのアクセスは、専任の YouTube パートナー マネージャーがいる YouTube クリエイターに限定されます。
  • アクセス権はチャンネル単位で付与されます。チャンネル単位の許可リスト登録のため、youtube.channel-memberships.creator OAuth スコープは標準の Google Cloud OAuth 確認プロセスを経由しません。

メソッド

この API は、member リソースに対して次のメソッドをサポートしています。

list
チャンネルのメンバー(以前は「スポンサー」と呼ばれていました)を一覧表示します。API リクエストは、 チャンネル所有者によって承認される必要があります。

リソース表現

次の JSON 構造は、member リソースの形式を示しています。

{
  "kind": "youtube#member",
  "etag": etag,
  "snippet": {
    "creatorChannelId": string,
    "memberDetails": {
      "channelId": string,
      "channelUrl": string,
      "displayName": string,
      "profileImageUrl": string
    },
    "membershipsDetails": {
      "highestAccessibleLevel": string,
      "highestAccessibleLevelDisplayName": string,
      "accessibleLevels": [
        string
      ],
      "membershipsDuration": {
        "memberSince": datetime,
        "memberTotalDurationMonths": integer,
      },
      "membershipsDurationAtLevel": [
        {
          "level": string,
          "memberSince": datetime,
          "memberTotalDurationMonths": integer,
        }
      ]
    }
  }
}

プロパティ

次の表は、このリソースで使用されているプロパティの定義を示したものです。

プロパティ
kind string
API リソースのタイプを識別します。値は youtube#member になります。
etag etag
このリソースの Etag。
snippet object
The snippet オブジェクトには、メンバーに関する詳細が含まれます。
snippet.creatorChannelId string
メンバーシップを提供するクリエイターの YouTube チャンネル ID。
snippet.memberDetails object
このオブジェクトには、メンバーシップの料金を支払っている YouTube チャンネルのプロフィール データが含まれます。

チャンネルには、プロフィール データが利用できないメンバーがいる場合があります。たとえば、チャンネルを削除したものの、メンバーシップの料金を支払っているメンバーがこれに該当します。これらのメンバーは、引き続きメンバーシップの特典を利用できます。

API レスポンスには、memberDetails オブジェクト内のプロフィールの詳細が設定されていない場合でも、正確な数を確保するために、これらのメンバーのリソースが含まれます。このようなメンバーには、引き続き membershipsDetails が提供されます。
snippet.memberDetails.channelId string
メンバー チャンネルの YouTube チャンネル ID。設定されている場合、チャンネル ID はメンバーの固有識別子として扱うこともできます。設定されていない場合、メンバーを一意に 識別することはできませんが、リソースには、メンバーがアクセスできるレベルやメンバーシップの期間など、メンバーシップの詳細が引き続き含まれます。
snippet.memberDetails.channelUrl string
チャンネルの URL。
snippet.memberDetails.displayName string
チャンネルの表示名。
snippet.memberDetails.profileImageUrl string
チャンネルのアバターの URL。
snippet.membershipsDetails object
このオブジェクトには、メンバー チャンネルのメンバーシップの詳細が含まれます。
snippet.membershipsDetails.highestAccessibleLevel string
メンバー チャンネルが現在アクセスできる最も高いメンバーシップ レベルの ID。この値 は、id プロパティ 値が membershipsLevel リソースに対応します。
snippet.membershipsDetails.highestAccessibleLevelDisplayName string
メンバー チャンネルが現在アクセスできる最も高いメンバーシップ レベルの名前。この値は、displayName リソースの membershipsLevel プロパティ値に対応します。
snippet.membershipsDetails.accessibleLevels[] list (of strings)
ユーザーが現在アクセスできるすべてのメンバーシップ レベルの ID のリスト。このリストには、現在アクティブなレベルとそれ以下のすべてのレベルが含まれます。
snippet.membershipsDuration object
このオブジェクトには、料金レベルに関係なく、現在のメンバーの メンバーシップの全体的な期間に関する情報が含まれます。 snippet.membershipsDetails.membershipsDurationAtLevel[] プロパティには、メンバーが特定のメンバーシップ レベルにアクセスできた期間の詳細を含むオブジェクトのリストが含まれます。

次の例は、これらのプロパティの動作を示しています。メンバーは 1 月にメンバーシップ レベル 1 で新しいメンバーシップを購入し、3 月までそのメンバーシップを保持しています。4 月と 5 月は メンバーシップがありません。6 月に、メンバーはメンバーシップを再開します( レベル 1)。その後、8 月にメンバーシップをレベル 2 にアップグレードします。したがって、10 月に API 呼び出しが行われた場合、memberリソースには次のものが含まれます。
"membershipsDetails": {
  "membershipsDuration": {
    "memberSince": "2020-06-01T12:00:00",
    "memberTotalDurationMonths": 7,
  },
  "membershipsDurationAtLevel": [
    {
      "level": "level_1_ID",
      "memberSince": "2020-06-01T12:00:00",
      "memberTotalDurationMonths": 7
    },
    {
      "level": "level_2_ID",
      "memberSince": "2020-08-01T12:00:00",
      "memberTotalDurationMonths": 2
    },
  ]
}
snippet.membershipsDuration.memberSince datetime
メンバーの現在のメンバーシップが開始された日時。つまり、メンバーは この日時から継続してメンバーシップを保持しています。メンバーシップの期間によって、異なるメンバーシップ レベルで過ごした可能性があります。
snippet.membershipsDuration.memberTotalDurationMonths integer
ユーザーがメンバーであった期間(月単位、小数点以下切り捨て)。 この値は、メンバーがメンバーシップを保持していた期間(月単位)を反映していますが、 メンバーがその期間継続してメンバーシップを保持していたことを意味するものではありません。
snippet.memberDetails.membershipsDetails.membershipsDurationAtLevel[] list (of objects)
オブジェクトのリスト。各オブジェクトには、メンバーが特定のメンバーシップ レベルにアクセスできた期間の詳細が含まれます。 このリストには、メンバーが現在アクセスできるメンバーシップ レベルごとに 1 つの オブジェクトが含まれます。
snippet.memberDetails.membershipsDetails.membershipsDurationAtLevel.level string
メンバーシップ レベル ID。この値は、 id プロパティ値に対応します。membershipsLevel
snippet.memberDetails.membershipsDetails.membershipsDurationAtLevel.memberSince datetime
メンバーが指定されたメンバーシップ レベルにアクセスできるようになった日時。つまり、メンバーはこの日時から継続してそのレベルにアクセスしています。メンバーシップの期間によって、より高いメンバーシップ レベルで過ごした可能性があります。
snippet.memberDetails.membershipsDetails.membershipsDurationAtLevel.memberTotalDurationMonths integer
ユーザーが指定されたレベルにアクセスできた期間(月単位、小数点以下切り捨て)。 この値は、メンバーがそのレベルにアクセスできた期間(月単位)を反映していますが、メンバーがその期間継続してメンバーシップを保持していたことを意味するものではありません。