エピソード管理

所有するLISTEN配信番組のエピソードを作成・更新・削除できます。すべての操作に認証が必要です。音声・ビデオ・画像を新しく指定する場合は、先にファイルアップロードAPIで取得したpathを使います。

エピソードの作成

mutation CreateEpisode(
  $podcastId: ID!
  $title: String!
  $audioPath: String!
) {
  createEpisode(
    podcastId: $podcastId
    title: $title
    description: "エピソードの説明"
    visibility: PUBLIC
    status: PUBLISHED
    media: { audioPath: $audioPath }
    normalizeLoudness: true
  ) {
    id
    title
    status
    visibility
    webviewUrl
  }
}

ビデオの場合はmedia: { videoPath: $videoPath, videoThumbnailPath: $thumbnailPath }を指定します。audioPathvideoPathは同時に指定できません。

公開状態と公開範囲

  • status: DRAFT(下書き)、PUBLISHED(公開)、SCHEDULED(公開予約)
  • visibility: PUBLICFOLLOWERS_ONLYPAID_ONLYLIMITEDPRIVATE
  • scheduledAt: 公開予約日時。タイムゾーンを含むISO 8601形式で指定します。

status: SCHEDULEDではscheduledAtを指定してください。

エピソードの更新

updateEpisodeではtitlevisibilityを毎回指定します。mediaを省略すると現在の音声・ビデオを維持します。

mutation UpdateEpisode($id: ID!, $title: String!) {
  updateEpisode(
    id: $id
    title: $title
    description: "更新した説明"
    visibility: PUBLIC
    status: PUBLISHED
  ) {
    id
    title
    description
    status
    updatedAt
  }
}

メディアを差し替える場合だけ、アップロード済みの新しいpathmediaへ指定します。ビデオは変換完了までVideoVersion.statusPROCESSINGになり、完了するとREADYになります。FAILEDの場合はfailedReasonを確認してください。

エピソードの削除

mutation DeleteEpisode($id: ID!) {
  deleteEpisode(id: $id) {
    id
    title
  }
}

削除は取り消せません。対象IDと所有番組を確認してから実行してください。