Classic/VPC環境で利用できます。
FairPlay Streamingタイプの DRMライセンスを発行します。ライセンスを発行するには、DRMサイトが有効化され、FairPlay Streamingの認証情報が登録されている必要があります。API呼び出し時のレスポンスはバイナリ(ORIGINAL)と JSONの2つの形式をサポートしているので、その中から選択して実装できます。ライセンスを発行するには、次の手順に従って実行してください。
1. ライセンス発行のリクエスト(POST /api/v1/license)
2. FPS証明書発行のリクエスト(GET /api/v1/license/fairPlay)
- 認証情報をまだ登録していない場合、サイトの更新から登録することができます。
- すべてのライセンスリクエストは、DRMコンテンツを再生する端末機器情報とプレイヤーの実装を通じてリクエストする必要があります。
- Video Player Enhancementサービスの連携方法は、VPEコンテンツ認証をご参照ください。
- One Click Multi DRMサービスは FairPlay Streaming証明書の新規発行はサポートしていません。FPS証明書は Appleから直接発行してください。詳細は、FairPlay Streaming証明書の登録をご参照ください。
- One Click Multi DRMサービスにアップロードした FairPlay Streaming証明書は、有効性検査をサポートしていません。
1. ライセンス発行のリクエスト
ライセンス発行をリクエストする方法を説明します。
リクエスト
リクエスト形式を説明します。リクエスト形式は次の通りです。
| メソッド | URI |
|---|---|
| POST | /api/v1/license |
リクエストヘッダ
One Click Multi DRM APIで共通して使用されるヘッダの詳細は、One Click Multi DRMのリクエストヘッダをご参照ください。
One Click Multi DRMサービスから APIでライセンスを発行するには、X-DRM-TOKENヘッダが必要です。このヘッダは、リクエストユーザーの権限を検証し、選択したサイトのセキュリティポリシーに基づいて DRMライセンスを発行するのに使用されます。ヘッダ値が無効な場合、ライセンスは発行されません。X-DRM-TOKENヘッダを作成する方法は次の通りです。
siteId、contentId、drmType、responseFormat、userIdの JSONデータを入力します。フィールド タイプ 必須の有無 説明 siteIdString Required contentIdString Required drmTypeString Required responseFormatString Required userIdString Required - 入力例
{"siteId":"{サイト ID}","contentId":"{コンテンツ ID}","drmType":"{DRMタイプ}","responseFormat":"{レスポンス形式}","userId":"{ユーザーの固有 ID}"}
- 入力例
- JSONデータを Base64文字列に変換します。
- 変換例
eyJzaXRlSWQiOiJkcm0tMjAyMzExMTUxNDIzMjYtbkh5TnciLCJjb250ZW50SW...dXNlcklkIjoiZDQxZDhjZDk4ZjAwYjIwNGU5ODAwOTk4ZWNmODQyN2UifQ==
- 変換例
JSONデータを入力する際、余分な空白や改行が含まれないようにご注意ください。
リクエスト例
リクエストのサンプルコードは次の通りです。
curl --location --request POST 'https://multi-drm.apigw.ntruss.com/api/v1/license' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \
--header 'Content-Type: application/json' \
--header 'x-ncp-region_code: KR' \
--header 'x-drm-token: {X-DRM-TOKEN}'
レスポンス
レスポンス形式を説明します。
ORIGINALタイプのリクエストはバイナリデータでレスポンスが返されますが、このガイドでは JSONタイプのレスポンスを基準に説明します。
レスポンスボディ
レスポンスボディの説明は次の通りです。
| フィールド | タイプ | 必須の有無 | 説明 |
|---|---|---|---|
license |
String | - | ライセンス JSONデータ |
licenseCreatedTime |
Integer | - | ライセンス発行日時(ミリ秒)
|
tokenCreatedTime |
Integer | - | ヘッダトークンの作成日時(ミリ秒)
|
tokenExpireTime |
Integer | - | ヘッダトークンの有効期限日時(ミリ秒)
|
レスポンスステータスコード
One Click Multi DRM APIで共通して使用されるレスポンスステータスコードの詳細は、One Click Multi DRMのレスポンスステータスコードをご参照ください。
レスポンス例
レスポンスのサンプルコードは次の通りです。
{
"license": "080512BF050AB9020803121044E0A85CB19D0441AC6C66B3D6ABBCC218E39FC48D06228E023082010A0282010100B2FB0D937113004C0F805C6C57DE7B266E2B5E2FE12241FF1421ED55DE2C3F73F62891D7587A8ED153F4009D9522C3609A5DC3C4E43891F8F2D7B448B36E8B77AD96DC795795706D4289F8E61FBDF564AB57E5A5EDDB64FC4EA68...D2A0F9B8E352FA91B52EC19593F215BCEB2E8401CCC9757C48793C9AB4904B93C7D326BFFBB5E24CDBF297599FB22724C95C9D40D44455586B188A6D10658BEBE5F6CE812FABB8CA58282B5D28176D5DFF3B358692CC4FC6895A06C0B90A192D65F69AE07415DCEF6E54A677D5C769BA6E9CC24E2B968BC3E6E4D4E099E446D9F7E38740DBB708023E6D35D99F1B10",
"licenseCreatedTime": 1700476438204,
"tokenCreatedTime": 1700476438107,
"tokenExpireTime": 1700477038107
}
2. FPS証明書発行のリクエスト
FPS証明書の発行をリクエストする方法を説明します。
リクエスト
リクエスト形式を説明します。リクエスト形式は次の通りです。
| メソッド | URI |
|---|---|
| GET | /api/v1/license/fairPlay (JSONタイプの証明書をリクエスト) |
| GET | /api/v1/license/fairPlayBinary (バイナリタイプの証明書をリクエスト) |
リクエストヘッダ
One Click Multi DRM APIで共通して使用されるヘッダの詳細は、One Click Multi DRMのリクエストヘッダをご参照ください。
- 必須ヘッダの
X-DRM-TOKENの作成方法は、X-DRM-TOKENヘッダの作成をご参照ください。
リクエスト例
リクエストのサンプルコードは次の通りです。
curl --location --request GET 'https://multi-drm.apigw.ntruss.com/api/v1/license/fairPlay' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \
--header 'Content-Type: application/json' \
--header 'x-ncp-region_code: KR' \
--header 'x-drm-token: {X-DRM-TOKEN}'
レスポンス
レスポンス形式を説明します。
ORIGINALタイプのリクエストはバイナリデータでレスポンスが返されますが、このガイドでは JSONタイプのレスポンスを基準に説明します。
レスポンスボディ
レスポンスボディの説明は次の通りです。
| フィールド | タイプ | 必須の有無 | 説明 |
|---|---|---|---|
license |
String | - | ライセンス JSONデータ |
licenseCreatedTime |
Integer | - | ライセンス発行日時(ミリ秒)
|
tokenCreatedTime |
Integer | - | ヘッダトークンの作成日時(ミリ秒)
|
tokenExpireTime |
Integer | - | ヘッダトークンの有効期限日時(ミリ秒)
|
レスポンスステータスコード
One Click Multi DRM APIで共通して使用されるレスポンスステータスコードの詳細は、One Click Multi DRMのレスポンスステータスコードをご参照ください。
レスポンス例
レスポンスのサンプルコードは次の通りです。
{
"license": "080512BF050AB9020803121044E0A85CB19D0441AC6C66B3D6ABBCC218E39FC48D06228E023082010A0282010100B2FB0D937113004C0F805C6C57DE7B266E2B5E2FE12241FF1421ED55DE2C3F73F62891D7587A8ED153F4009D9522C3609A5DC3C4E43891F8F2D7B448B36E8B77AD96DC795795706D4289F8E61FBDF564AB57E5A5EDDB64FC4EA6891C793B...0F9B8E352FA91B52EC19593F215BCEB2E8401CCC9757C48793C9AB4904B93C7D326BFFBB5E24CDBF297599FB22724C95C9D40D44455586B188A6D10658BEBE5F6CE812FABB8CA58282B5D28176D5DFF3B358692CC4FC6895A06C0B90A192D65F69AE07415DCEF6E54A677D5C769BA6E9CC24E2B968BC3E6E4D4E099E446D9F7E38740DBB708023E6D35D99F1B10",
"licenseCreatedTime": 1700476438204,
"tokenCreatedTime": 1700476438107,
"tokenExpireTime": 1700477038107
}