概要

SDK のインストール方法および使用方法の詳細については、「メディアライブラリ SDK-PHP」 をご参照ください。

カテゴリーを追加、削除、変更、および照会することができます。 なお、次の点にご注意ください。

  • カテゴリを削除しても、関連付けられているメディアセットのカテゴリ ID は自動的には消去されません。
  • カテゴリ照会 API からの応答結果は、ツリー構造またはリスト構造で表示されます。 ネストされている JSON 形式のオブジェクトはツリー構造にして返され、プレーンな配列はリスト構造にして返されます。 実際のシナリオに応じて構造を選択します。

カテゴリの追加

パラメーターの詳細については、 「API reference > Media category APIs > AddCategory」をご参照ください。
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 addCategory($client, $parentId, $categoryName)
  {
      $request = new Mts\AddCategoryRequest();
      $request->setAcceptFormat('JSON');
      $request->setParentId($parentId);
      $request->setCateName($categoryName);
      $response = $client->getAcsResponse($request);
      return $response;
  }
  $category = addCategory($client, null, 'testroot')->{'Category'};
  print_r('Level: '.$category->{'Level'}.
          "\tParentId: ".$category->{'ParentId'}.
          "\tCateId: ".$category->{'CateId'}.
          "\tCateName: ".$category->{'CateName'}."\n");

カテゴリの更新

パラメーターの詳細については、 「API reference > Media category APIs > UpdateCategoryName」をご参照ください。
function updateCategory($client, $categoryId, $categoryName)
  {
      $request = new Mts\UpdateCategoryNameRequest();
      $request->setAcceptFormat('JSON');
      $request->setCateId($categoryId);
      $request->setCateName($categoryName);
      $response = $client->getAcsResponse($request);
      return $response;
  }
  try {
      updateCategory($client, 12345678, 'updatetestroot'); //Replace the value with your category ID
  } catch (ClientException $e) {
      print_r('ClientException:'."\n");
      print_r($e);
  } catch (ServerException $e) {
      print_r('ServerException:'."\n");
      print_r($e);
  }

カテゴリの削除

パラメーターの詳細については、 「API reference > Media category APIs > DeleteCategory」をご参照ください。
function deleteCategory($client, $categoryId)
  {
      $request = new Mts\DeleteCategoryRequest();
      $request->setAcceptFormat('JSON');
      $request->setCateId($categoryId);
      $response = $client->getAcsResponse($request);
      return $response;
  }
  try {
      deleteCategory($client, 12345678); //Replace the value with your category ID
  } catch(ClientException $e) {
      print_r('ClientException:'."\n");
      print_r($e);
  } catch (ServerException $e) {
      print_r('ServerException:'."\n");
      print_r($e);
  }

カテゴリの照会

  • ツリー構造
    パラメーターの詳細については、「API reference > Media category APIs > CategoryTree」をご参照ください。
    function queryCategoryTree($client)
        {
            $request = new Mts\CategoryTreeRequest();
            $request->setAcceptFormat('JSON');
            $response = $client->getAcsResponse($request);
            return $response;
        }
        function printCategoryTree($categoryTree)
        {
            foreach($categoryTree as $category) {
                for ($i = 0; $i < $category->{'Level'}; $i++) {
                    print_r("--");
                }
                print_r('Level: '.$category->{'Level'}.
                        "\tParentId: ".$category->{'ParentId'}.
                        "\tCateId: ".$category->{'CateId'}.
                        "\tCateName: ".$category->{'CateName'}."\n");
                if (array_key_exists('SubcateList', $category)) {
                    printCategoryTree($category->{'SubcateList'});
                }
            }
        }
        $categoryTree = queryCategoryTree($client)->{'CategoryTree'};
        printCategoryTree(json_decode($categoryTree));
  • リスト構造
    パラメーターの詳細については、 「API reference > Media category APIs > ListAllCategory」 をご参照ください。
     function queryCategoryList($client)
          {
            $request = new Mts\ListAllCategoryRequest();
            $request->setAcceptFormat('JSON');
            $response = $client->getAcsResponse($request);
            return $response  ;
        }
        $categoryList = queryCategoryList($client)->{'CategoryList'}->{'Category'};
        for ($i = 0; $i < count($categoryList); $i++) {
            print_r('Level: '.$categoryList[$i]->{'Level'}.
                    "\tParentId: ".$categoryList[$i]->{'ParentId'}.
                    "\tCateId: ".$categoryList[$i]->{'CateId'}.
                    "\tCateName: ".$categoryList[$i]->{'CateName ' }."\n");
        }