Members

Remarque: Depuis le 31 mars 2020, le point de terminaison members remplace le point de terminaison sponsors, qui est désormais obsolète et ne sera plus compatible à partir du 30 septembre 2020. Les clients API doivent mettre à jour les appels à la méthode sponsors.list pour qu'ils utilisent plutôt la méthode members.list.

Ce point de terminaison ne peut être utilisé que par les créateurs individuels pour demander l'ajout d'une chaîne YouTube sur laquelle les souscriptions sont activées. Contactez votre représentant Google ou YouTube pour demander l'accès.

Une ressource member représente un membre d'une chaîne YouTube. Un membre fournit un soutien financier récurrent à un créateur et bénéficie d'avantages spéciaux. Par exemple, les membres peuvent discuter lorsque le créateur active le mode réservé aux membres.

Méthodes

L'API accepte les méthodes suivantes pour les ressources member:

list
Répertorie les membres (anciennement "sponsors") d'une chaîne. La demande d'API doit être autorisée par le propriétaire de la chaîne.

Représentation des ressources

La structure JSON suivante montre le format d'une ressource 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,
        }
      ]
    }
  }
}

Propriétés

Le tableau suivant définit les propriétés qui apparaissent dans cette ressource:

Propriétés
kind string
Identifie le type de ressource de l'API. La valeur sera youtube#member.
etag etag
ETag de cette ressource.
snippet object
L'objet snippet contient des détails sur le membre.
snippet.creatorChannelId string
L'ID de chaîne YouTube du créateur qui propose des souscriptions.
snippet.memberDetails object
Cet objet contient des données de profil sur la chaîne YouTube qui paie pour souscrire à la chaîne.

Sachez qu'une chaîne peut comporter des membres dont les données de profil ne sont pas disponibles. C'est par exemple le cas des membres qui ont supprimé leur chaîne, mais qui continuent de payer pour leur souscription. Notez que ces membres peuvent toujours bénéficier des avantages réservés aux membres.

Les réponses de l'API incluent des ressources pour ces membres afin de garantir un décompte précis, même si les détails du profil dans l'objet memberDetails ne sont pas définis. Les membershipsDetails sont toujours fournis pour ces membres.
snippet.memberDetails.channelId string
ID de la chaîne YouTube. S'il est défini, l'ID de la chaîne peut également être traité comme un identifiant unique pour le membre. Si ce champ n'est pas défini, le membre ne peut pas être identifié de manière unique, mais la ressource transmet quand même des informations sur l'appartenance, telles que les niveaux d'accès du membre et la durée de son adhésion.
snippet.memberDetails.channelUrl string
URL de la chaîne.
snippet.memberDetails.displayName string
Nom à afficher de la chaîne.
snippet.memberDetails.profileImageUrl string
URL de l'avatar de la chaîne.
snippet.membershipsDetails object
Cet objet contient des informations sur les membres de la chaîne.
snippet.membershipsDetails.highestAccessibleLevel string
ID du niveau de souscription le plus élevé auquel la chaîne membre peut actuellement accéder. La valeur correspond à la valeur de la propriété id d'une ressource membershipsLevel.
snippet.membershipsDetails.highestAccessibleLevelDisplayName string
Nom du plus haut niveau de souscription auquel la chaîne membre peut actuellement accéder. La valeur correspond à la valeur de la propriété displayName d'une ressource membershipsLevel.
snippet.membershipsDetails.accessibleLevels[] list (of strings)
Une liste des ID de tous les niveaux de souscription auxquels l'utilisateur peut actuellement accéder. La liste inclut le niveau actuellement actif et tous les niveaux inférieurs.
snippet.membershipsDuration object
Cet objet contient des informations sur la durée totale de l'appartenance du membre actuel, sans tenir compte des niveaux de tarification. La propriété snippet.membershipsDetails.membershipsDurationAtLevel[] contient ensuite une liste d'objets contenant des détails sur la période pendant laquelle le membre a eu accès à un niveau d'appartenance spécifique.

L'exemple suivant montre le fonctionnement de ces propriétés: un membre souscrit une nouvelle souscription en janvier au niveau de souscription 1 et dispose de cette souscription jusqu'en mars. En avril et en mai, le membre n'a pas d'abonnement. En juin, le membre réactive son adhésion, toujours au niveau 1. En août, le membre passe alors au niveau 2. Ainsi, si un appel d'API est effectué en octobre, la ressource member contient les éléments suivants :
"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
Date et heure de début de l'abonnement actuel du membre. En d'autres termes, le membre est constamment abonné depuis cette date et cette heure. Notez que les périodes de souscription peuvent avoir été dépensées à différents niveaux.
snippet.membershipsDuration.memberTotalDurationMonths integer
Nombre de mois, arrondi au nombre entier inférieur le plus proche, pendant lesquels l'utilisateur a été membre. La valeur indique le nombre de mois complets auxquels le membre a souscrit, mais cela ne signifie pas qu'il en est membre depuis autant de mois.
snippet.memberDetails.membershipsDetails.membershipsDurationAtLevel[] list (of objects)
Liste d'objets dans laquelle chaque objet contient des détails sur la période pendant laquelle le membre a eu accès à un niveau d'appartenance spécifique. La liste inclut un objet pour chaque niveau de souscription auquel le membre peut actuellement accéder.
snippet.memberDetails.membershipsDetails.membershipsDurationAtLevel.level string
ID du niveau d'adhésion. La valeur correspond à la valeur de la propriété id d'une ressource membershipsLevel.
snippet.memberDetails.membershipsDetails.membershipsDurationAtLevel.memberSince datetime
Date et heure auxquelles le membre a eu accès au niveau de souscription spécifié. En d'autres termes, le membre a toujours eu accès au niveau depuis cette date et cette heure. Notez que différentes périodes de souscription ont peut-être été dépensées à des niveaux supérieurs.
snippet.memberDetails.membershipsDetails.membershipsDurationAtLevel.memberTotalDurationMonths integer
Nombre de mois, arrondi au nombre entier le plus proche, au cours desquels l'utilisateur a eu accès au niveau spécifié. La valeur indique le nombre de mois complets auxquels le membre a accédé au niveau, mais cela ne signifie pas que le membre a souscrit un abonnement de manière continue pendant ce nombre de mois.