全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网
媒体转码

类目管理

更新时间:2017-06-07 13:26:11

返回:简介 >>

媒体库管理-类目-示例代码-PHP

  • 简介

    SDK的安装和使用,参考媒体库SDK-PHP

    类目支持增删改查。另外要关注下面几点逻辑:

    • 删除一个类目并不会自动清除关联媒体的类目ID属性。

    • 查询类目返回接口有两种形式:树结构、列表结构。树结构返回的是一个嵌套结构的JSON对象,列表结构返回的是一个平面的数组结构,可以根据场景选择使用。

  • 新增类目

    详细参数参考API使用手册->媒体类目接口->新增类目

    1. include_once 'aliyun-php-sdk-core/Config.php';
    2. use Mts\Request\V20140618 as Mts;
    3. $accessKeyID = 'test'; // 替换成真实的id
    4. $accessKeySecret = 'test'; // 替换成真实的secret
    5. $profile = DefaultProfile::getProfile('cn-hangzhou',
    6. $accessKeyID,
    7. $accessKeySecret);
    8. $client = new DefaultAcsClient($profile);
    1. function addCategory($client, $parentId, $categoryName)
    2. {
    3. $request = new Mts\AddCategoryRequest();
    4. $request->setAcceptFormat('JSON');
    5. $request->setParentId($parentId);
    6. $request->setCateName($categoryName);
    7. $response = $client->getAcsResponse($request);
    8. return $response;
    9. }
    10. $category = addCategory($client, null, 'testroot')->{'Category'};
    11. print_r('Level: '.$category->{'Level'}.
    12. "\tParentId: ".$category->{'ParentId'}.
    13. "\tCateId: ".$category->{'CateId'}.
    14. "\tCateName: ".$category->{'CateName'}."\n");
  • 更新类目

    详细参数参考API使用手册->媒体类目接口->更新类目

    1. function updateCategory($client, $categoryId, $categoryName)
    2. {
    3. $request = new Mts\UpdateCategoryNameRequest();
    4. $request->setAcceptFormat('JSON');
    5. $request->setCateId($categoryId);
    6. $request->setCateName($categoryName);
    7. $response = $client->getAcsResponse($request);
    8. return $response;
    9. }
    10. try {
    11. updateCategory($client, 12345678, 'updatetestroot'); // 替换成真实的CateID
    12. } catch (ClientException $e) {
    13. print_r('ClientException:'."\n");
    14. print_r($e);
    15. } catch (ServerException $e) {
    16. print_r('ServerException:'."\n");
    17. print_r($e);
    18. }
  • 删除类目

    详细参数参考API使用手册->媒体类目接口->删除类目

    1. function deleteCategory($client, $categoryId)
    2. {
    3. $request = new Mts\DeleteCategoryRequest();
    4. $request->setAcceptFormat('JSON');
    5. $request->setCateId($categoryId);
    6. $response = $client->getAcsResponse($request);
    7. return $response;
    8. }
    9. try {
    10. deleteCategory($client, 12345678); // 替换成真实的CateID
    11. } catch (ClientException $e) {
    12. print_r('ClientException:'."\n");
    13. print_r($e);
    14. } catch (ServerException $e) {
    15. print_r('ServerException:'."\n");
    16. print_r($e);
    17. }
  • 查询类目

    • 树结构

      详细参数参考API使用手册->媒体类目接口->查询类目-树

      1. ```
      2. function queryCategoryTree($client)
      3. {
      4. $request = new Mts\CategoryTreeRequest();
      5. $request->setAcceptFormat('JSON');
      6. $response = $client->getAcsResponse($request);
      7. return $response;
      8. }
      9. function printCategoryTree($categoryTree)
      10. {
      11. foreach($categoryTree as $category) {
      12. for ($i = 0; $i < $category->{'Level'}; $i++) {
      13. print_r("--");
      14. }
      15. print_r('Level: '.$category->{'Level'}.
      16. "\tParentId: ".$category->{'ParentId'}.
      17. "\tCateId: ".$category->{'CateId'}.
      18. "\tCateName: ".$category->{'CateName'}."\n");
      19. if (array_key_exists('SubcateList', $category)) {
      20. printCategoryTree($category->{'SubcateList'});
      21. }
      22. }
      23. }
      24. $categoryTree = queryCategoryTree($client)->{'CategoryTree'};
      25. printCategoryTree(json_decode($categoryTree));
      26. ```
    • 列表结构

      详细参数参考API使用手册->媒体类目接口->查询类目-列表

      1. ```
      2. function queryCategoryList($client)
      3. {
      4. $request = new Mts\ListAllCategoryRequest();
      5. $request->setAcceptFormat('JSON');
      6. $response = $client->getAcsResponse($request);
      7. return $response;
      8. }
      9. $categoryList = queryCategoryList($client)->{'CategoryList'}->{'Category'};
      10. for ($i = 0; $i < count($categoryList); $i++) {
      11. print_r('Level: '.$categoryList[$i]->{'Level'}.
      12. "\tParentId: ".$categoryList[$i]->{'ParentId'}.
      13. "\tCateId: ".$categoryList[$i]->{'CateId'}.
      14. "\tCateName: ".$categoryList[$i]->{'CateName'}."\n");
      15. }
      16. ```

返回:简介 >>

本文导读目录