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
membersemembershipsLevelsè 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.creatornon 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 |
stringIdentifica il tipo di risorsa API. Il valore sarà youtube#member. |
etag |
etagL'ETag di questa risorsa. |
snippet |
objectL'oggetto snippet contiene i dettagli sull'abbonato. |
snippet.creatorChannelId |
stringL'ID canale YouTube del creator che offre gli abbonamenti. |
snippet.memberDetails |
objectQuesto 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 |
stringL'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 |
stringL'URL del canale. |
snippet.memberDetails.displayName |
stringIl nome visualizzato del canale. |
snippet.memberDetails.profileImageUrl |
stringL'URL dell'avatar del canale. |
snippet.membershipsDetails |
objectQuesto oggetto contiene i dettagli dell'abbonamento per il canale dell'abbonato. |
snippet.membershipsDetails.highestAccessibleLevel |
stringL'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 |
stringIl 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 |
objectQuesto 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 |
datetimeLa 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 |
integerIl 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 |
stringL'ID del livello dell'abbonamento. Il valore corrisponde al id valore della proprietà in una
membershipsLevel risorsa. |
snippet.memberDetails.membershipsDetails.membershipsDurationAtLevel.memberSince |
datetimeLa 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 |
integerIl 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. |