member 資源代表 YouTube 頻道的頻道會員。會員會定期提供創作者金錢資助,並獲得特殊福利。舉例來說,創作者為聊天室啟用會員專屬模式後,只有會員才能在聊天室中發言。
存取權限制如下:
- 只有擁有專屬 YouTube 合作夥伴經理的 YouTube 創作者,才能存取
members和membershipsLevels端點。 - 存取權是在頻道層級授予。由於這項管道層級許可清單,
youtube.channel-memberships.creatorOAuth 範圍不會經過標準 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 |
objectsnippet 物件包含成員的詳細資料。 |
snippet.creatorChannelId |
string提供會員資格的創作者 YouTube 頻道 ID。 |
snippet.memberDetails |
object這個物件包含支付會員費用的 YouTube 頻道設定檔資料。 請注意,頻道會員可能擁有無法使用的設定檔資料。舉例來說,如果會員刪除頻道,但仍支付會員費用,就會發生這種情況。請注意,這些成員仍可享有會員福利。 即使未設定 memberDetails 物件中的個人資料詳細資料,API 回應也會包含這些成員的資源,確保計數準確。這類成員仍可享有membershipsDetails。 |
snippet.memberDetails.channelId |
string會員頻道的 YouTube 頻道 ID。設定後,頻道 ID 也可以視為成員的專屬 ID。如果未設定,系統就無法識別會員,但資源仍會傳達會員詳細資料,例如會員可存取的等級和會員資格的有效時間。 |
snippet.memberDetails.channelUrl |
string頻道的網址。 |
snippet.memberDetails.displayName |
string頻道的顯示名稱。 |
snippet.memberDetails.profileImageUrl |
string頻道的顯示圖片網址。 |
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)物件清單,其中每個物件都包含會員在特定會員等級期間的詳細資料。清單會針對會員目前可存取的每個會員等級,各包含一個物件。 |
snippet.memberDetails.membershipsDetails.membershipsDurationAtLevel.level |
string會員等級 ID。這個值對應至 membershipsLevel 資源中的 id 屬性值。 |
snippet.memberDetails.membershipsDetails.membershipsDurationAtLevel.memberSince |
datetime成員可存取指定會員等級的日期和時間。換句話說,自這個日期和時間起,會員一直都能存取該等級。請注意,會員可能在不同時期處於較高的會員等級。 |
snippet.memberDetails.membershipsDetails.membershipsDurationAtLevel.memberTotalDurationMonths |
integer使用者存取指定等級的月數 (四捨五入至最接近的整數)。這個值反映的是會員可存取該等級的完整月數,但這個數字不代表會員已連續擁有該會員資格達該月數。 |