概要
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"); }