概要

メディアセットの基本情報を照会および更新する方法については、次の例のとおりです。 SDK のインストール方法および使用方法の詳細については、「メディアライブラリ SDK-PHP」をご参照ください。

メディアセット基本情報の照会

メディア ID または OSS ファイルの URL を使用し、メディアセットを照会します。

  • メディア ID を使用したメディアセットの照会
    パラメーターの詳細については、「API reference > Media APIs > QueryMediaList」ご参照ください。
    include_once 'aliyun-php-sdk-core/Config.php';
    use Mts\Request\V20140618 as Mts;
    $accessKeyID = 'test'; //eplace the value with your AccessKeyID
    $accessKeySecret = 'test'; //Replace the value with your AccessKeySecret
    $profile = DefaultProfile::getProfile('cn-hangzhou',
                                          $accessKeyID,
                                          $accessKeySecret);
    $client = new DefaultAcsClient($profile);
    function queryMediaById($client, $mediaID)
    {
         $request = new Mts\QueryMediaListRequest();
         $request->setAcceptFormat('JSON');
         $request->setMediaIds($mediaID);
         $response = $client->getAcsResponse($request);
         return $response;
    }
    function printMedia($media)
    {
         if (array_key_exists('Title', $media)) {
           print_r('Title: '.$media->{'Title'}."\n");
         }
         if (array_key_exists('Description', $media)) {
           print_r('Description: '.$media->{'Description'}."\n");
         }
         if (array_key_exists('Tags', $media)) {
           print_r('Tags: '.$media->{'Tags'}->{'Tag'}[0]."\n");
         }
         if (array_key_exists('CoverURL', $media)) {
           print_r('CoverURL: '.$media->{'CoverURL'}."\n");
         }
         print_r('Format: '.$media->{'Format'}."\n");
         print_r('Resolution: '.$media->{'Width'}.'x'.$media->{'Height'}."\n");
         print_r('FileSize: '.$media->{'Size'}."\n");
         print_r('Bitrate: '.$media->{'Bitrate'}."\n");
         print_r('FPS: '.$media->{'Fps'}."\n");
    }
    $mediaID = 'test'; // Replace the value with your desired media ID
    $medias = queryMediaById($client, $mediaID)->{'MediaList'}->{'Media'};
    for ($i=0; $i < count($medias); $i++) {
         printMedia($medias[$i]);
    }
  • OSS ファイルの URL を使用したメディアセットの照会
    パラメーターの詳細については、 「API reference > Media APIs > QueryMediaList」をご参照ください。
    function queryMediaByURL($client, $mediaURL)
    {
         $request = new Mts\QueryMediaListByURLRequest();
         $request->setAcceptFormat('JSON');
         $request->setFileURLs($mediaURL);
         $response = $client->getAcsResponse($request);
         return $response;
    }
    $ossEndpoint = 'http://test.oss-cn-hangzhou.aliyuncs.com/';
    // An OSS object does not have to start with "/". Replace the value with your OSS object
    $ossObject = 'test/test.mp4';
    $medias = queryMediaByURL($client,$ossEndpoint.urlencode($ossObject))->{'MediaList'}->{'Media'};
    for ($i=0; $i < count($medias); $i++) {
         printMedia($medias[$i]);
    }
  • 属性の更新

    全属性の更新、または 1 つの属性を更新することができます。

    • 全属性の更新

      パラメーターの詳細については、「API reference > Media APIs > UpdateMedia」をご参照ください。

      属性を更新する際、すべてのフィールドを指定します。 指定しないフィールドは消去されます。
      function updateMediaAllField($client, $mediaID, $title, $description, $tags, $coverURL)
      {
           $request = new Mts\UpdateMediaRequest();
           $request->setAcceptFormat('JSON');
           $request->setMediaId($mediaID);
           $request->setTitle($title);
           $request->setCateId(2663987);
           $request->setDescription($description);
           $request->setTags($tags);
           $request->setCoverURL($coverURL);
           $response = $client->getAcsResponse($request);
           return $response;
      }
      $mediaID = 'test'; //Replace the value with your desired media ID
      $media = updateMediaAllField($client, $mediaID,
                              'title', 'description', 'tags', 'coverURL')->{'Media'};
    • 1 つの属性の更新

      各種 API を使用することで、他のフィールドを変更せずに 1 つのフィールドだけを簡単に更新することができます。

      次の例では、"updateMediaPublishState" を使用します。 パラメーターの詳細については、 [API reference] > [Media APIs] > [UpdateMediaPublishState] をご参照ください。
      function updateMediaPublishState($client, $mediaID, $state)
      {
           $request = new Mts\UpdateMediaPublishStateRequest();
           $request->setAcceptFormat('JSON');
           $request->setMediaId($mediaID);
           $request->setPublish($state);
           $response = $client->getAcsResponse($request); 
           return $response;
      }
      $mediaID = 'test'; //Replace the value with your desired media ID
      //No result is returned from the API that updates the publishing state. Capture exceptions to check whether execution succeeds
      try {
           updateMediaPublishState($client, $mediaID, "true");
      } catch(ClientException $e) {
           print_r('ClientException:'."\n");
           print_r($e);
      } catch (ServerException $e) {
           print_r('ServerException:'."\n");
           print_r($e);
      }