■認証API、アップロードAPIを使用したサンプルコード
参考1)javaサンプルコード
// Jストリームサンプルコード(java) //認証API、アップロードAPIを使用します import java.io.BufferedReader; import java.io.File; import java.io.InputStreamReader; import java.nio.charset.Charset; import java.util.ArrayList; import java.util.List; import java.util.Map; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.mime.MultipartEntity; import org.apache.http.entity.mime.content.FileBody; import org.apache.http.entity.mime.content.StringBody; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.message.BasicNameValuePair; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper;
// J-Streamサンプル2013/09/05 public class Sample { public static void main(String[] args) { try {
// 認証APIのパラメーター作成 List<NameValuePair> params= new ArrayList<NameValuePair>();
// cid設定:「****」の部分を適宜ご変更ください params.add(new BasicNameValuePair("cid", "****"));
// APIトークン設定:「********************************」の部分を適宜ご変更ください params.add(new BasicNameValuePair("API", "********************************"));
// HTTPクライアントのインスタンスを生成 DefaultHttpClient client = new DefaultHttpClient();
// 認証APIのURL設定 HttpPost post = new HttpPost("https://file-platform.stream.co.jp/WriteApiLocation.aspx");
// 認証APIのパラメーターを設定 post.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));
// 認証APIを呼び出してアップロードキーを取得 HttpResponse res = client.execute(post);
// 結果を取得 BufferedReader br = new BufferedReader(new InputStreamReader(res.getEntity().getContent())); String key = null; String wk; while ((wk= br.readLine()) != null) { key = wk; }
// リーダーをクローズ br.close();
// 処理結果をコンソールに表示 System.out.println("cid=" + params.get(0).getValue() + "\n"); System.out.println(key + "\n");
// 動画アップロードAPIのパラメーター作成 MultipartEntity entity = new MultipartEntity();
// アップロードする動画ファイル名の指定 File movie = new File("c:\\work\\sample.mp4");
// 動画タイトルの指定 String title = "サンプルタイトル";
// アップロードするサムネイルファイル名の指定 File thumb = new File("c:\\work\\sample.jpg");
// 動画ファイル名とサムネイルファイル名をコンソールに表示 System.out.println("movie=" + movie.getPath()); System.out.println("thumb=" + thumb.getPath() + "\n");
// CallbackURLの指定 String callbackURL = "http://*****.co.jp/*******.php";
// 送信先TOの指定 String mailTo = "*****@*****.**.jp";
// 件名の指定 String mailSubject = "トランスコード終了";
// 本文の指定 String mailBody = "トランスコード処理が終了しました。mid:%eqMailMid% error:%eqErrorCode%";
// コンテンツタイプの指定 String mailContentType = "text/plain; charset=\"utf-8\"";
// 動画アップロードAPIのURL設定 post = new HttpPost("https://file-platform.stream.co.jp/writeapi/upload/" + key);
// 動画アップロードAPIのパラメーターを設定 entity.addPart("movie",new FileBody(movie)); entity.addPart("thumb",new FileBody(thumb)); entity.addPart("title",new StringBody(title,"text/plain", Charset.forName("UTF-8"))); entity.addPart("mailTo",new StringBody(mailTo,"text/plain", Charset.forName("UTF-8"))); entity.addPart("mailSubject",new StringBody(mailSubject,"text/plain", Charset.forName("UTF-8"))); entity.addPart("mailBody",new StringBody(mailBody,"text/plain", Charset.forName("UTF-8"))); entity.addPart("mailContentType",new StringBody(mailContentType,"text/plain", Charset.forName("UTF-8"))); post.setEntity(entity);
// 動画アップロードAPI呼び出し res = client.execute(post);
// 結果を取得 br = new BufferedReader(new InputStreamReader(res.getEntity().getContent())); String result = ""; while ((wk= br.readLine()) != null) { result += wk; }
// リーダーをクローズ br.close();
// 処理結果をコンソールに表示 System.out.println("return (" + result + ")");
// 処理結果から動画IDを取得 ObjectMapper mapper = new ObjectMapper(); Map<String, String> map = mapper.readValue(result, new TypeReference<Map<String, String>>(){}); String mid = map.get("mid");
// 動画IDをコンソールに表示 System.out.println("mid=" + mid + "\n"); } catch (Exception e) { e.printStackTrace(); } } } |
参考2)PHPサンプルコード ※PHPバージョン5.6以降
<?php // Jストリームサンプルコード(PHP) //認証API、アップロードAPIを使用します
// 通信初期化 $ch= curl_init();
//認証APIのパラメーター設定 $postfields = array(
//顧客ID 'cid' => '****',
//WriteAPIのToken 'API' => '****************************' );
// 動画アップロードAPIのパラメーター設定 curl_setopt_array($ch,[ CURLOPT_URL => 'https://file-platform.stream.co.jp/WriteApiLocation.aspx', CURLOPT_SSL_VERIFYPEER => 0, CURLOPT_RETURNTRANSFER => 1, CURLOPT_POST => true, CURLOPT_POSTFIELDS => $postfields ]);
// 認証APIを呼び出してアップロードキーを取得 $upkey= curl_exec($ch);
// エラー情報取得 $errno= curl_errno($ch); $error_message= curl_error($ch);
// 処理結果をコンソールに表示 echo 'cid='.$postfields['cid']; echo '¥n'; echo 'cURLerror ({$errno}):¥n {$error_message}'; echo '¥n'.$upkey.'¥n¥n';
// アップロードする動画ファイル名の指定 $filepath= 'c:\\work\\sample.mp4';
// 動画ファイル名をUTF-8でエンコード $filename = mb_convert_encoding(basename($filepath), 'UTF-8', 'auto');
// アップロードするサムネイルファイル名の指定 $thumbpath= 'c:\\work\\sample.jpg';
// サムネイルファイル名をUTF-8でエンコード $thumbname= mb_convert_encoding(basename($thumbpath), 'UTF-8', 'auto');
// 動画ファイル名とサムネイルファイル名をコンソールに表示 echo 'movie='.$filepath.'¥n'; echo "thumb=".$thumbpath."¥n¥n";
//動画アップロードAPIのパラメータ設定 $postfields = array(
//動画ファイル名 'movie' => new CURLFile($filepath),
//サムネイルファイル名 'thumb' => new CURLFile($thumbpath),
//動画タイトル 'title' => 'test',
//成功時のリダイレクト先 "redirect_success" => "http://www.*******.co.jp/success/*******"
//失敗時のリダイレクト先 "redirect_success" => "http://www.*******.co.jp/failure/*******"
//callback URL 'callback' => 'http://*****.com/*******.php',
//送信先TO(配列) 'mail_to' => '*****@*****.**.jp',
//件名 'mail_subject' => 'トランスコード終了',
//本文 'mail_body' => 'トランスコード処理が完了しました。 mid:%eqMailMid% error:%eqErrorCode%',
//コンテンツタイプ 'mail_contenttype' => "text/plain; charset=¥"utf-8¥"" );
// 動画アップロードAPIのパラメーター設定 curl_setopt_array($ch,[ CURLOPT_URL => 'https://file-platform.stream.co.jp/writeapi/upload/'.$upkey, CURLOPT_SSL_VERIFYPEER => 0, CURLOPT_RETURNTRANSFER => 1, CURLOPT_POST => true, CURLOPT_POSTFIELDS => $postfields ]);
// 動画アップロードAPI呼び出し $result = curl_exec($ch);
// エラー情報取得 $errno= curl_errno($ch); $error_message= curl_error($ch);
// 処理結果をコンソールに表示 echo "cURLreturn ({$result}):¥n"; echo "cURLerror ({$errno}):¥n {$error_message}";
// 処理結果から動画IDを取得 $json= json_decode($result, true); $mid = $json["mid"];
//動画IDの出力 echo $mid; ?> |