印刷する

動画

clips > set_image_file_info

はじめに

このAPI関数を使用すると、データベースに動画の画像情報を設定できます。

1. この機能は、保管場所のファイルには直接作用しません。また、ファイルの種類を検証しません。

2. この機能は、[一般設定>ストレージ]の設定に従って、イメージファイルがすでに保存場所にあり、正しいサイズであることを前提としています。
ローカルストレージを使用する場合、ファイルはuploads/imagesフォルダにアップロードされている必要があります。
AWSの場合、ファイルは対応するS3バケットにアップロードされている必要があります。
外部サーバー(FTP)の場合、ファイルはFTPの場所にアップロードされている必要があります。

3. このAPIコールはデータベース内の新しい情報を関連付けるだけなので、ファイルの削除や置き換えは処理されません。

4. 動画にデフォルトの画像を使用したい場合は、目的のフィールドに空の文字列を割り当てます。

5. 新しい画像ファイル名を割り当てるとき、新しい値の名前はデータベース内の以前の値を置き換えますが、以前のファイルは保存場所から削除、もしくは置き換えはされません。
ファイルの削除や置き換えをする場合は、別の手順でそれを実行する必要があります。

リクエストの構築

リクエストURLとGET変数

リクエスト固有のGET変数

変数説明
goclipsAPIセクション
doset_image_file_infoAPIアクション
iqClip ID動画ID

リクエストURLは以下のようになります。必須情報(key, timestamp, salt, signature)を追加することを忘れないでください。

https://....../api.php?go=clips&do=set_image_file_info&iq={clip_id}&{required information}
POST変数

以下のPOST変数はオプションです。

変数説明
img_poster (string) Poster image file name ポスター画像ファイル名(詳細
img_social (string) Social image file name ソーシャル画像ファイル名(詳細
img_thumbnail (string) Thumbnail image file name サムネイル画像ファイル名(詳細
img_icon (string) Icon image file name アイコン画像ファイル名(詳細
sprite_img (string) Sprite image file name スプライトイメージファイル名(詳細
sprite_vtt (string) Sprite VTT image file name スプライトVTTイメージファイル名(詳細

応答例

リクエストが成功した場合は、以下の内容のレスポンスを受け取ります。
ok:動画が正常に変更された場合

{
    "ok": "The Clip image file info was correctly set"
}

動画IDが無効な場合など、リクエストが失敗した場合のレスポンス

{
    "error": "CLIP_NOT_FOUND",
    "error_long": "It was not possible to find a Clip with the supplied ID"
}

このリクエストは以下のエラーを返す可能性があります。

REQUEST_ERROR | Invalid Clip ID
動画IDが無効です。

CLIP_NOT_FOUND | It was not possible to find a Clip with the supplied ID
動画が見つかりません。

MODIFICATION_ERROR | {Message}
指定された理由により、動画を変更できませんでした。

その他のエラー内容に関しては一般的なエラーメッセージを確認してください。

PHPサンプルコード

GETおよびPOSTデータを準備します。

// GET変数
$GET_VARS = array( 
					"go"        => "clips",
					"do"        => "set_image_file_info",
					"iq"        => 700
					);

// POST変数
$POST_VARS = array(
                    "img_poster"	=> "clip_700_poster.jpg",
                    "img_social"	=> "clip_700_social.jpg",
                    "img_thumbnail"	=> "clip_700_thumbnail.jpg",
                    "img_icon"		=> "clip_700_icon.jpg",
                    "sprite_img"	=> "clip_700_sprite_image.jpg",
                    "sprite_vtt"	=> "clip_700_sprite_vtt.vtt"
                    );

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