Members

Ресурс member представляет спонсора канала YouTube. Спонсоры регулярно поддерживают авторов материально и получают за это эксклюзивные бонусы. Например, спонсоры могут общаться в чате, если автор включил режим "Только для спонсоров".

Действуют следующие ограничения доступа:

  • Доступ к конечным точкам members и membershipsLevels предоставляется только авторам YouTube, у которых есть менеджер по работе с партнерами YouTube.
  • Доступ предоставляется на уровне канала. Поскольку белый список составляется на уровне канала, область действия OAuth youtube.channel-memberships.creator не проходит стандартную процедуру проверки 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
Объект snippet содержит сведения об участнике.
snippet.creatorChannelId string
Идентификатор канала YouTube, на котором предлагается спонсорство.
snippet.memberDetails object
Этот объект содержит данные профиля канала YouTube, который оплачивает спонсорство.

Обратите внимание, что у некоторых спонсоров могут быть недоступны данные профиля. Например, это происходит, когда пользователь удаляет свой канал, но продолжает платить за спонсорство. Обратите внимание, что у этих пользователей по-прежнему будет доступ к преимуществам подписки.

Ответы API включают ресурсы для этих участников, чтобы обеспечить точный подсчет, даже если сведения профиля в объекте memberDetails не заданы. membershipsDetails для таких спонсоров сохраняются.
snippet.memberDetails.channelId string
Идентификатор канала YouTube, входящего в сеть. Если он задан, идентификатор канала также может рассматриваться как уникальный идентификатор участника. Если он не задан, то участника нельзя идентифицировать, но ресурс по-прежнему передает сведения о спонсорстве, например уровни, к которым у участника есть доступ, и продолжительность спонсорства.
snippet.memberDetails.channelUrl string
URL канала.
snippet.memberDetails.displayName string
Отображаемое название канала.
snippet.memberDetails.profileImageUrl string
URL аватара канала.
snippet.membershipsDetails object
Этот объект содержит сведения о спонсорстве на канале.
snippet.membershipsDetails.highestAccessibleLevel string
Идентификатор самого высокого уровня спонсорства, доступного каналу-спонсору. Значение соответствует значению свойства id в ресурсе membershipsLevel.
snippet.membershipsDetails.highestAccessibleLevelDisplayName string
Название самого высокого уровня спонсорства, доступного каналу. Значение соответствует значению свойства displayName в ресурсе membershipsLevel.
snippet.membershipsDetails.accessibleLevels[] list (of strings)
Список идентификаторов всех уровней спонсорства, к которым у пользователя есть доступ. В списке будут указаны текущий уровень и все уровни ниже него.
snippet.membershipsDuration object
Этот объект содержит информацию об общей продолжительности спонсорства текущего пользователя без учета уровней цен. Свойство snippet.membershipsDetails.membershipsDurationAtLevel[] содержит список объектов с информацией о периодах, в течение которых у пользователя был доступ к определенному уровню подписки.

Рассмотрим пример. Пользователь оформляет спонсорство уровня 1 в январе и сохраняет его до марта. В апреле и мае у пользователя нет спонсорства. В июне зритель возобновляет спонсорство на уровне 1. В августе он переходит на второй уровень. Таким образом, если вызов 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)
Список объектов, каждый из которых содержит сведения о периоде спонсорства, в течение которого спонсор имел доступ к определенному уровню спонсорства. В списке есть по одному объекту для каждого уровня спонсорства, доступного пользователю.
snippet.memberDetails.membershipsDetails.membershipsDurationAtLevel.level string
Идентификатор уровня спонсорства. Значение соответствует значению свойства id в ресурсе membershipsLevel.
snippet.memberDetails.membershipsDetails.membershipsDurationAtLevel.memberSince datetime
Дата и время, с которых у пользователя есть доступ к указанному уровню спонсорства. Иными словами, с этой даты и времени у пользователя был постоянный доступ к уровню. Обратите внимание, что в разные периоды спонсорства вы могли быть на разных уровнях.
snippet.memberDetails.membershipsDetails.membershipsDurationAtLevel.memberTotalDurationMonths integer
Количество месяцев, округленное до ближайшего меньшего целого числа, в течение которых у пользователя был доступ к указанному уровню. Значение отражает количество полных месяцев, в течение которых у спонсора был доступ к уровню, но не означает, что спонсорство было непрерывным.