Members

Una risorsa member rappresenta un abbonato a un canale YouTube canale. Un abbonato fornisce un sostegno economico ricorrente a un creator e riceve vantaggi speciali Ad esempio, gli abbonati possono chattare quando il creator attiva la modalità solo per abbonati per una chat.

Si applicano le seguenti limitazioni di accesso:

  • L'accesso agli endpoint members e membershipsLevels è limitato ai creator di YouTube che hanno un partner manager di YouTube dedicato.
  • L'accesso viene concesso a livello di canale. A causa di questa autorizzazione a livello di canale, l'ambito OAuth youtube.channel-memberships.creator non viene sottoposto alla procedura di verifica OAuth standard di Google Cloud.

Metodi

L'API supporta i seguenti metodi per le risorse member:

list
Elenca gli abbonati (precedentemente noti come "sponsor") di un canale. La richiesta API deve essere autorizzata da il proprietario del canale.

Rappresentazione delle risorse

La seguente struttura JSON mostra il formato di una risorsa 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,
        }
      ]
    }
  }
}

Proprietà

La tabella seguente definisce le proprietà che appaiono in questa risorsa:

Proprietà
kind string
Identifica il tipo di risorsa API. Il valore sarà youtube#member.
etag etag
L'ETag di questa risorsa.
snippet object
L'oggetto snippet contiene i dettagli sull'abbonato.
snippet.creatorChannelId string
L'ID canale YouTube del creator che offre gli abbonamenti.
snippet.memberDetails object
Questo oggetto contiene i dati del profilo del canale YouTube che paga l'abbonamento.

Tieni presente che un canale può avere abbonati con dati del profilo non disponibili. Ad esempio, questo si verifica con gli abbonati che hanno eliminato i propri canali, ma continuano a pagare gli abbonamenti. Tieni presente che questi abbonati possono comunque accedere ai vantaggi dell'abbonamento.

Le risposte dell'API includono le risorse per questi abbonati per garantire conteggi accurati anche se i dettagli del profilo all'interno dell'oggetto memberDetails non sono impostati. I membershipsDetails vengono comunque forniti per questi abbonati.
snippet.memberDetails.channelId string
L'ID canale YouTube del canale membro. Se è impostato, l'ID canale può essere trattato anche come identificatore univoco dell'abbonato. Se non è impostato, l'abbonato non può essere identificato in modo univoco , ma la risorsa fornisce comunque i dettagli dell'abbonamento, come i livelli a cui l'abbonato può accedere e la durata dell'abbonamento.
snippet.memberDetails.channelUrl string
L'URL del canale.
snippet.memberDetails.displayName string
Il nome visualizzato del canale.
snippet.memberDetails.profileImageUrl string
L'URL dell'avatar del canale.
snippet.membershipsDetails object
Questo oggetto contiene i dettagli dell'abbonamento per il canale dell'abbonato.
snippet.membershipsDetails.highestAccessibleLevel string
L'ID del livello di abbonamento più alto a cui il canale dell'abbonato può accedere attualmente. Il valore corrisponde al valore della proprietà id in una risorsa membershipsLevel
snippet.membershipsDetails.highestAccessibleLevelDisplayName string
Il nome del livello di abbonamento più alto a cui il canale dell'abbonato può accedere attualmente. Il valore corrisponde al displayName valore della proprietà in una risorsa membershipsLevel.
snippet.membershipsDetails.accessibleLevels[] list (of strings)
Un elenco di ID per tutti i livelli dell'abbonamento a cui l'utente può accedere attualmente. L'elenco include il livello attualmente attivo e tutti i livelli inferiori.
snippet.membershipsDuration object
Questo oggetto contiene informazioni sulla durata complessiva dell'abbonamento corrente dell'abbonato, indipendentemente dai livelli di prezzo. La proprietàsnippet.membershipsDetails.membershipsDurationAtLevel[] contiene quindi un elenco di oggetti che contengono i dettagli di un periodo dell'abbonamento durante il quale l'abbonato aveva accesso a un determinato livello dell'abbonamento.

L'esempio seguente mostra come funzionano queste proprietà: un abbonato acquista un nuovo abbonamento a gennaio al livello dell'abbonamento 1 e lo mantiene fino a marzo. Ad aprile e maggio, l' abbonato non ha un abbonamento. A giugno, l'abbonato riattiva l'abbonamento, sempre al livello 1. Poi, ad agosto, l'abbonato esegue l'upgrade dell'abbonamento al livello 2. Pertanto, se viene effettuata una chiamata API a ottobre, la risorsa member conterrà quanto segue:
"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
La data e l'ora di inizio dell'abbonamento corrente dell'abbonato. In altre parole, l'abbonato ha avuto un abbonamento ininterrottamente da questa data e ora. Tieni presente che periodi diversi dell'abbonamento potrebbero essere stati trascorsi a livelli di abbonamento diversi.
snippet.membershipsDuration.memberTotalDurationMonths integer
Il numero di mesi, arrotondato per difetto all'intero più vicino, in cui l'utente è stato abbonato. Il valore riflette il numero di mesi completi in cui l'abbonato ha avuto un abbonamento, ma il numero non implica che l'abbonato abbia avuto un abbonamento ininterrottamente per quel numero di mesi.
snippet.memberDetails.membershipsDetails.membershipsDurationAtLevel[] list (of objects)
Un elenco di oggetti, in cui ogni oggetto contiene i dettagli di un periodo dell'abbonamento durante il quale l'abbonato aveva accesso a un determinato livello di abbonamento. L'elenco include un oggetto per ogni livello dell'abbonamento a cui l'abbonato può accedere attualmente.
snippet.memberDetails.membershipsDetails.membershipsDurationAtLevel.level string
L'ID del livello dell'abbonamento. Il valore corrisponde al id valore della proprietà in una membershipsLevel risorsa.
snippet.memberDetails.membershipsDetails.membershipsDurationAtLevel.memberSince datetime
La data e l'ora a partire dalle quali il membro ha avuto accesso al livello dell'abbonamento specificato. In altre parole, l'abbonato ha avuto accesso ininterrottamente al livello da questa data e ora. Tieni presente che periodi diversi dell'abbonamento potrebbero essere stati trascorsi a livelli di abbonamento superiori.
snippet.memberDetails.membershipsDetails.membershipsDurationAtLevel.memberTotalDurationMonths integer
Il numero di mesi, arrotondato per difetto all'intero più vicino, in cui l'utente ha avuto accesso a il livello specificato. Il valore riflette il numero di mesi completi in cui l'abbonato ha avuto accesso al livello, ma il numero non implica che l'abbonato abbia avuto un abbonamento ininterrottamente per quel numero di mesi.