ライセンスの発行(FairPlay)

Prev Next

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のリクエストヘッダをご参照ください。

X-DRM-TOKENヘッダの作成

One Click Multi DRMサービスから APIでライセンスを発行するには、X-DRM-TOKENヘッダが必要です。このヘッダは、リクエストユーザーの権限を検証し、選択したサイトのセキュリティポリシーに基づいて DRMライセンスを発行するのに使用されます。ヘッダ値が無効な場合、ライセンスは発行されません。X-DRM-TOKENヘッダを作成する方法は次の通りです。

  1. siteIdcontentIddrmTyperesponseFormatuserIdの JSONデータを入力します。
    フィールド タイプ 必須の有無 説明
    siteId String Required
    contentId String Required
    drmType String Required
    responseFormat String Required
    userId String Required
    • 入力例
      {"siteId":"{サイト ID}","contentId":"{コンテンツ ID}","drmType":"{DRMタイプ}","responseFormat":"{レスポンス形式}","userId":"{ユーザーの固有 ID}"}
      
  2. 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 - ライセンス発行日時(ミリ秒)
  • Unix Timestamp形式
tokenCreatedTime Integer - ヘッダトークンの作成日時(ミリ秒)
  • Unix Timestamp形式
tokenExpireTime Integer - ヘッダトークンの有効期限日時(ミリ秒)
  • Unix Timestamp形式

レスポンスステータスコード

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のリクエストヘッダをご参照ください。

リクエスト例

リクエストのサンプルコードは次の通りです。

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 - ライセンス発行日時(ミリ秒)
  • Unix Timestamp形式
tokenCreatedTime Integer - ヘッダトークンの作成日時(ミリ秒)
  • Unix Timestamp形式
tokenExpireTime Integer - ヘッダトークンの有効期限日時(ミリ秒)
  • Unix Timestamp形式

レスポンスステータスコード

One Click Multi DRM APIで共通して使用されるレスポンスステータスコードの詳細は、One Click Multi DRMのレスポンスステータスコードをご参照ください。

レスポンス例

レスポンスのサンプルコードは次の通りです。

{
   "license": "080512BF050AB9020803121044E0A85CB19D0441AC6C66B3D6ABBCC218E39FC48D06228E023082010A0282010100B2FB0D937113004C0F805C6C57DE7B266E2B5E2FE12241FF1421ED55DE2C3F73F62891D7587A8ED153F4009D9522C3609A5DC3C4E43891F8F2D7B448B36E8B77AD96DC795795706D4289F8E61FBDF564AB57E5A5EDDB64FC4EA6891C793B...0F9B8E352FA91B52EC19593F215BCEB2E8401CCC9757C48793C9AB4904B93C7D326BFFBB5E24CDBF297599FB22724C95C9D40D44455586B188A6D10658BEBE5F6CE812FABB8CA58282B5D28176D5DFF3B358692CC4FC6895A06C0B90A192D65F69AE07415DCEF6E54A677D5C769BA6E9CC24E2B968BC3E6E4D4E099E446D9F7E38740DBB708023E6D35D99F1B10",
   "licenseCreatedTime": 1700476438204,
   "tokenCreatedTime": 1700476438107,
   "tokenExpireTime": 1700477038107
}