Members

注: 2020 年 3 月 31 日をもって、sponsors エンドポイントは members エンドポイントに置き換えられます。sponsors エンドポイントは非推奨となり、2020 年 9 月 30 日以降はサポートされなくなります。API クライアントは、sponsors.list メソッドの呼び出しを更新して、代わりに members.list メソッドを使用するようにする必要があります。

このエンドポイントは、チャンネル メンバーシップが有効になっている自身の YouTube チャンネルのリクエストを行う場合にのみ、個々のクリエイターが使用できます。アクセス権をリクエストするには、Google または YouTube の担当者にお問い合わせください。

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

メソッド

この 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
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。この値は、membershipsLevel リソースの id プロパティ値に対応しています。
snippet.membershipsDetails.highestAccessibleLevelDisplayName string
メンバー チャンネルが現在アクセスできる最高のメンバーシップ レベルの名前。この値は、membershipsLevel リソースの displayName プロパティ値に対応しています。
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。この値は、membershipsLevel リソースの id プロパティ値に対応しています。
snippet.memberDetails.membershipsDetails.membershipsDurationAtLevel.memberSince datetime
メンバーが指定されたメンバーシップ レベルにアクセスできるようになった日時。つまり、この日時以降、メンバーはレベルに継続的にアクセスしています。メンバーシップ期間の一部は、より高いメンバーシップ レベルで過ごした可能性があります。
snippet.memberDetails.membershipsDetails.membershipsDurationAtLevel.memberTotalDurationMonths integer
ユーザーが指定されたレベルにアクセスした月数(四捨五入した整数)。この値は、メンバーがそのレベルにアクセスした完全な月数を表しますが、その数は、メンバーがその数か月間継続的にメンバーシップを持っていたという意味ではありません。