動画
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));
}