簡體   English   中英

使用Kaltura API版本:3.1.5和PHP訪問自定義數據字段

[英]Accessing Custom Data Fields with Kaltura API version: 3.1.5 and PHP

我在視頻中創建了一個自定義元數據字段,稱為“記錄日期”,我想知道在按類別對數據進行排序時如何回顯此信息。 這是到目前為止我工作的代碼片段。

$pager = new KalturaFilterPager();
$pager->pageIndex = "1";
$pager->pageSize = "200";

if(isset($_REQUEST['category'])){
    $category = $_REQUEST['category'];
}
else{
    $category = "";
}

$filter = new KalturaMediaEntryFilter();
$filter->categoriesMatchOr = $category;
$filter->orderBy = KalturaMediaEntryOrderBy::CREATED_AT_DESC;

$entries = $client->media->listAction($filter, $pager);

if (!$entries)
{
   $entries = array();
}
?>

<ol id="list">
<?php 
$count = 0;
foreach ($entries->objects as $entry)
{
 echo '<li id="'.$count.'"><img src="'.$entry->thumbnailUrl.'"/> <strong>Name:</strong> '.$entry->name.' <strong>Record Date:</strong> '.date('m/d/Y', $entry->createdAt).' <strong>Duration:</strong> '.$entry->duration.' sec</li>';
 $count++;
}
?>
</ol>

我想用自定義元數據字段值替換$ entry-> createdAt。 任何幫助,將不勝感激。

我已經通過在我的foreach()語句中應用KalturaMetadataFilter()解決了這個問題。 這是代碼。

foreach ($entries->objects as $entry){
    $filter_meta = new KalturaMetadataFilter();
    $filter_meta->metadataObjectTypeEqual = KalturaMetadataObjectType::ENTRY;
    $filter_meta->objectIdEqual = $entry->id;
    $filter_meta->statusEqual = KalturaMetadataStatus::VALID;
    $metadataPlugin = KalturaMetadataClientPlugin::get($client);
    $result = $metadataPlugin->metadata->listAction($filter_meta);
    //print_r($result);
    if(isset($result->objects[0]->xml)){
        $xml = simplexml_load_string($result->objects[0]->xml);
        $record_date = (int)$xml->RecordDate;
    }
    else{
        $record_date = $entry->createdAt;
    }
    echo '<li id="'.$count.'"><img src="'.$entry->thumbnailUrl.'"/> <strong>Name:</strong> '.$entry->name.' <strong>Record Date:</strong> '.date('m/d/Y', $record_date).' <strong>Duration:</strong> '.$entry->duration.' sec</li>';
    $count++;
}

您應該調用entry.list,然后用逗號將結果中收到的條目ID內插(例如'0_jhb23ad,0_jhbasd3,0_askdja3'),然后調用meta.list,在字段“ objectIdIn”中傳遞條目ID列表。

順便說一句,你有一個錯誤-

$filter->orderBy = 'CREATED_AT_DESC';

沒有效果,應該是

KalturaMediaEntryOrderBy::CREATED_AT_DESC;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM