動画
clips > create
APIリクエストから動画を作成します。
リクエストの構築
リクエストURLとGET変数
リクエスト固有のGET変数
変数 | 値 | 説明 |
---|---|---|
go | clips | APIセクション |
do | create | APIアクション |
リクエストURLは以下のようになります。必須情報(key, timestamp, salt, signature)を追加することを忘れないでください。
https://....../api.php?go=clips&do=create&{required information}
POST変数
以下のPOST変数は必須です。
変数 | 値 | 説明 |
---|---|---|
id_user | (int) ID User | 動画を所有するユーザーのIDを入力する必要があります。 "ID=1"はウェブマスター「スーパーユーザー」に対応します。 |
以下のPOST変数はオプションですが推奨されています。
変数 | 値 | 説明 |
---|---|---|
title | (string) title | 動画タイトル(最大255文字) |
status | (int) status | 利用可能な値:0 (非アクティブ), 1 (アクティブ) |
is_featured | (int) 0|1 | お気に入り動画かどうか |
type | (int) type | 利用可能な値:0 (標準), 1 (Stream VOD), 2 (Stream Live), 3 (埋め込み), 4 (オートエンコーディング) |
description | (string) description | 動画の説明文。HTMLコードを含めることができます |
description_seo | (string) short description | SEO、検索結果、リストへの表示に使用される簡略化されたプレーンテキストの説明文(最大255文字) |
tags | (string) tags | 動画タグ(カンマ区切り) |
aspect | (float) aspect ratio | 動画の縦横比。 利用可能な値:1.78 (TV 16:9), 0.56 - 9:16 (ポートレイト), 1.33 (TV 4:3), 1.37 (35mm), 1.66 (35mm), 1.75 (35mm), 1.85 (35mm), 2.35 (35mmアナモルフィック) |
duration | (int) seconds | 動画の再生時間(秒) |
is_skippable | (int) 0|1 | 動画がスキップ可能かどうか |
is_skippable_after | (int) seconds | スキップ可能な場合、何秒後からスキップ可能になるか |
socialize | (int) 0|1 | SNS共有オプションを有効にするかどうか |
allow_comments | (int) 0|1 | コメントを許可するかどうか |
is_visitable | (int) 0|1 | 動画の個別URLからアクセスできるかどうか "0"の場合はチャンネルでのみ再生されます。 |
is_searchable | (int) 0|1 | 検索、リスト、ウィジェット、RSSフィードなどで表示対象にするかどうか |
is_indexable | (int) 0|1 | 検索エンジンが動画のインデックス作成を許可するかどうか |
date | (int) timestamp | 動画の日付(Unixタイムスタンプ) |
id_import | (string) Import ID | 他のサイト/システムから動画をインポートしている場合は、外部IDを動画に関連付けることができます(最大14文字) |
id_imdb | (string) IMDB ID | IMDBのID(該当する場合) |
is_360 | (int) 0|1 | 360°動画かどうか |
is_3d | (int) 0|1|2 | 3D動画かどうか 利用可能な値:0 (No), 1 (Yes,左/右), 2 (Yes,上/下(360°動画にのみ適用可)) |
is_deletable_only_by_admin | (int) 0|1 | "1"に設定すると動画がアクセスレベル「寄稿者」もしくは「投稿者」のユーザーによって作成されたとしても、「管理者」によってのみ削除が可能です。 デフォルト値は"0"です。 |
カスタムフィールド(詳細) | ||
fieldName | (mixed) field value | 各カスタムフィールドはPOST変数として渡す必要があります。 |
応答例
リクエストが成功した場合は、以下の内容のレスポンスを受け取ります。
・ok:動画が正常に作成された場合
・id:動画ID
{ "ok": "Clip was created successfully", "id": 696 }
ユーザーIDが無効な場合など、リクエストが失敗した場合のレスポンス
{ "error": "CREATION_ERROR", "error_long": "User does not exist" }
このリクエストは以下のエラーを返す可能性があります。
・CREATION_ERROR | {Message}
指定された理由により、動画を作成できませんでした。
その他のエラー内容に関しては一般的なエラーメッセージを確認してください。
PHPサンプルコード
GETおよびPOSTデータを準備します。
// GET変数 $GET_VARS = array( "go" => "clips", "do" => "create" ); // POST変数 $POST_VARS = array( "id_user" => 1, "title" => "My Clip", "status" => 1, // アクティブ "is_featured" => 0, // 「お気に入り」ではない "type" => 0, // 標準動画 "description" => "動画の説明文です", "description_seo" => "動画の説明文です", "tags" => "tag1, tag2, tag3", "aspect" => 1.78, // 16:9アスペクト比 "duration" => 105, // 1分45秒 "is_skippable" => 1, // スキップ可能 "is_skippable_after" => 0, // 0秒後(再生直後)からスキップ可能 "socialize" => 1, // SNS共有機能有効 "allow_comments" => 1, // コメント機能有効 "is_visitable" => 1, // 訪問可 "is_searchable" => 1, // 検索可 "is_indexable" => 1, // 検索エンジンのインデックス作成可 "date" => 1473178807, // 2016年9月6日16時20分07秒(GMT) "id_import" => "" );
salt, timestamp, signatureを生成してリクエストを送信します。
以下のコードブロックはすべてのハッシュつきリクエストに共通です。
// APIベースURLと認証情報の収集 $API_URL = "https://www.interstreamdomain.tv/api.php"; $API_KEY_ID = "1b323a1cb879fd4e66530fbad07a32ee"; $API_SHARED_SECRET = "MWIzMjNhMWNiODc5ZmQ0ZTY2NTMwZmJhZDA3YTMyZWViOTQ3MDJiOGM2ZTU2NjE3"; // 公開しないでください // salt, timestamp, signatureの生成 $salt = md5(mt_rand()); $timestamp = time(); $signature = base64_encode(hash_hmac('sha256', $salt.$timestamp, $API_SHARED_SECRET, true)); // key, salt, timestamp, signatureをGET変数に追加 $GET_VARS["timestamp"] = $timestamp; // UTCタイムスタンプ $GET_VARS["salt"] = $salt; $GET_VARS["key"] = $API_KEY_ID ; // APIキーID:これは公開されており、アプリケーションを識別するためにAPIによって使用されます $GET_VARS["signature"] = $signature; // リクエストURLを作成します。HTTPクエリを作成するためにPHPの組み込み関数を使用しない場合は、値をURLエンコードすることを忘れないでください。 $REQUEST_URL = $API_URL."?".http_build_query($GET_VARS); // ".../api.php?go=api_subject&do=api_action&etc..."のようにURLを構築 // 新しいcURLリソースを作成して適切なオプションを設定 $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $REQUEST_URL); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_POSTFIELDS, $POST_VARS); // PHPホストに有効なSSL証明書がない場合は、SSL証明書の検証を無効にする必要があります。これは危険であり、有効な証明書がインストールされるまで一時的に行われるべきです。 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); // Turns off verification of the SSL certificate. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // Turns off verification of the SSL certificate. // APIにリクエストを送信 $response = curl_exec($ch); // レスポンス処理 if (!$response) { echo 'API call failed'; } else { print_r(json_decode($response,true)); }