固有のPodcastを配信して、Restrict Content Pro の認証機能で配信をコントロールするためのプラグイン。Podcast は、SoundCloud に置かれたプレイリストを使う。
- プラグインをインストール
- SoundCloudでアプリキーを取得
- 設定 -> SC Podcast の設定で アプリキーを設定
- SoundCloudでプレイリストを作る
- プレイリストの「embed」タグを取得する
- SC Podcast で新規追加
- Embed code の欄に、2のコードを設定する
- その他、制限などを設定する
SC Podcast一覧で、「shortcode」が取得できるので、それを使う。
[scpodcast id="XXX" type="url"] // urlをコピーできるテキストボックス
[scpodcast id="XXX" type="link"] // リンク
[scpodcast id="XXX"] // embed code
なお、embed code については、アクセス制限など、何も考えてないので使わないように(笑)。そのうちなんとかします。
ステップは以下の通り。
- 貼り付けたいページを開く
- 上記のようなショートコードを貼り付ける
- ユーザーがログインしてアクセスする
- それを Podcast に登録すれば、利用できる
Podcast の item に使う url (enclosure の url)は、リダイレクトが設定されているとエラーとなって、Podcast 自体を読み込まない( iOSの場合)。おそらくは、セキュリティ対策なのだろう。
SoundCloud のオーディオのURLは、固定的に決まっているように見えるが、実際にダウンロードを行う際は、 必ずリダイレクト される。しかも、 毎回、違うURLに 転送される。これは、不正なダウンロードを防ぐための仕組み(音楽を盗む人への対策)と思われる。
SoundCloud のオーディオURLは、転送されてしまうので、Podcastの enclosure の url としては使えない。
このような背景もあって、SoundCloud は、Podcast専用の機能を別で実装。その中で使われているオーディオのURLは転送されない
以上のことから、このプラグインでは、
- SoundCloud から、オーディオデータをダウンロードして
- WordPress内に保存して、そこからPodcastとして配信している
したがって、Podcastへのアクセスは、WordPressが設置されているサーバーに負荷をかけることになるが、Podcastアプリがキャッシュしてくれるし、おそらくは同時ダウンロードも少ないので、大丈夫だろう。
メモです
SoundCloud のプレイリストやトラックは「プライベートモード」が可能。一覧には出なくなる。この機能を使った場合、プレイリストやオーディオにアクセスするには、
- プレイリストID
- プレイリスト別のシークレットトークン
- アプリ認証トークン
が必要。
プレイリストIDと、プレイリスト別のシークレットトークンは、Playlist の embed タグで取得できる。
そこで、このプラグインでは「プレイリストのembedタグ」を登録するようになっている。
Restrict Content Pro を使うことで、簡単に会員サイトが作れる。RCPは、カスタム投稿タイプであっても、public 設定なら、閲覧制限をかけることができる。
そこで、RCP と連携することで、「ユーザー別に、Podcastの配信をコントロール」することが可能になる。
- scpcast という投稿タイプを設定
- slug は、 /scpcast/?token=XXXX