Members

member 資源代表 YouTube 頻道的頻道會員。會員會定期提供創作者金錢資助,並獲得特殊福利。舉例來說,創作者為聊天室啟用會員專屬模式後,只有會員才能在聊天室中發言。

存取權限制如下:

  • 只有擁有專屬 YouTube 合作夥伴經理的 YouTube 創作者,才能存取 members 和 membershipsLevels 端點。
  • 存取權是在頻道層級授予。由於這項管道層級許可清單,youtube.channel-memberships.creator OAuth 範圍不會經過標準 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 頻道 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
使用者存取指定等級的月數 (四捨五入至最接近的整數)。這個值反映的是會員可存取該等級的完整月數,但這個數字不代表會員已連續擁有該會員資格達該月數。