全部产品
弹性计算 会员服务 网络 安全 移动云 数加·大数据分析及展现 数加·大数据应用 管理与监控 云通信 阿里云办公 培训与认证 智能硬件
存储与CDN 数据库 域名与网站(万网) 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 更多
媒体处理

类目管理

更新时间:2018-02-14 09:38:31

返回:简介

  • 简介

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

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

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

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

  • 新增类目

    1. 参见 [API使用手册 > 媒体类目接口 > 新增类目](~~44471~~)。
    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. function queryCategoryTree($client)
      2. {
      3. $request = new Mts\CategoryTreeRequest();
      4. $request->setAcceptFormat('JSON');
      5. $response = $client->getAcsResponse($request);
      6. return $response;
      7. }
      8. function printCategoryTree($categoryTree)
      9. {
      10. foreach($categoryTree as $category) {
      11. for ($i = 0; $i < $category->{'Level'}; $i++) {
      12. print_r("--");
      13. }
      14. print_r('Level: '.$category->{'Level'}.
      15. "\tParentId: ".$category->{'ParentId'}.
      16. "\tCateId: ".$category->{'CateId'}.
      17. "\tCateName: ".$category->{'CateName'}."\n");
      18. if (array_key_exists('SubcateList', $category)) {
      19. printCategoryTree($category->{'SubcateList'});
      20. }
      21. }
      22. }
      23. $categoryTree = queryCategoryTree($client)->{'CategoryTree'};
      24. printCategoryTree(json_decode($categoryTree));
    • 列表结构

      参见 API使用手册 > 媒体类目接口 > 查询类目 > 列表

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