You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kaltura媒体列表API的OrderBy过滤器失效问题求助

解决Kaltura Client媒体列表排序不生效的问题

嘿,我之前也踩过Kaltura API排序不生效的坑,看了你的代码,问题出在排序参数的传递方式或者值的正确性上,咱们来一步步解决它。

问题根源

你当前的代码里,虽然给media.listAction传了包含orderBy的对象,但有两个潜在问题:

  • 你使用的'CREATE_DATE_DESC'并不是Kaltura API接受的有效排序值,Kaltura的媒体条目排序参数有特定的格式(或者应该用官方提供的枚举值)。
  • 部分Kaltura Client版本更推荐使用KalturaMediaEntryFilter实例来传递过滤/排序参数,而非直接传对象字面量,这样能避免属性名或值的拼写错误。

修复方案

方案1:使用官方枚举值(推荐)

使用官方提供的枚举类型可以彻底避免拼写错误,编辑器还能提供自动提示:

const Promise = require('bluebird');
const kaltura = require('kaltura-client/KalturaClient');
// 导入媒体条目排序枚举
const KalturaMediaEntryOrderBy = require('kaltura-client/types/KalturaMediaEntryOrderBy');
// 导入媒体条目过滤器
const KalturaMediaEntryFilter = require('kaltura-client/types/KalturaMediaEntryFilter');

exports.getMediaList = Promise.method((client, pager) => {
  return new Promise(function (resolve, reject) {
    // 创建过滤器实例
    const filter = new KalturaMediaEntryFilter();
    // 设置排序规则为创建日期降序
    filter.orderBy = KalturaMediaEntryOrderBy.CREATE_DATE_DESC;

    return kaltura.services.media.listAction(filter, pager)
      .execute(client)
      .then((response) => {
        resolve(response.objects);
      })
      .catch((error) => {
        reject(error);
      });
  });
});

方案2:直接使用API认可的字符串值

如果你不想引入枚举,需要确保传递的是API接受的正确字符串格式。对于创建日期降序,正确的字符串是"createdAtDesc":

const Promise = require('bluebird');
const kaltura = require('kaltura-client/KalturaClient');

exports.getMediaList = Promise.method((client, pager) => {
  return new Promise(function (resolve, reject) {
    return kaltura.services.media.listAction(
      { orderBy: "createdAtDesc" }, // 使用API认可的字符串值
      pager
    ).execute(client).then((response) => {
      resolve(response.objects);
    }, (error) => {
      reject(error);
    });
  });
});

补充说明

Kaltura API的排序参数采用字段名+排序方向的驼峰格式,比如:

  • createdAtDesc:创建日期降序
  • createdAtAsc:创建日期升序
  • nameDesc:名称降序

直接用枚举值就不用记这些规则,还能避免拼写错误,所以更推荐方案1。

内容的提问来源于stack exchange,提问作者Swapnil Patil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:49:22