更新Kaltura Media入场戏

时间:2016-06-20 09:45:43

标签: kaltura

我试图更新字段"播放"媒体条目,但代码运行时没有任何问题/例外,条目的值保持不变。

我使用的代码如下:

try {
    String ks = client.getSessionService().start(ADMIN_SECRET, "admin",
            KalturaSessionType.ADMIN, PARTNER_ID, 86400, "disableentitlement");
    client.setKs(ks);
    client.setSessionId(ks);

    // Get Media Entry
    KalturaMediaEntry getMediaEntry = client.getMediaService().get(entry_id);
    // Get plays of Media Entry
    int plays = getMediaEntry.plays;

    int updatedPlays = plays + 1;

    // Create updated Media Entry with plays+1
    KalturaMediaEntry updatedMediaEntry = new KalturaMediaEntry();
    updatedMediaEntry.plays = updatedPlays;

    // Update
    client.getMediaService().update(entry_id, updatedMediaEntry);

 } catch (KalturaApiException e) {
    e.printStackTrace();
    Log.i(TAG, "Update Num of plays error: " + e.getMessage() );
}

任何人都可以帮我这个吗? 提前谢谢。

1 个答案:

答案 0 :(得分:1)

使用API​​无法更新

KalturaMediaEntry.plays,这是一个只读字段。 见https://github.com/kaltura/server/blob/Kajam-11.18.0/api_v3/lib/types/entry/KalturaPlayableEntry.php#L12

在尝试更新此字段时,API实际上应该抛出错误。

我假设您使用的是Kaltura的自托管版本,在这种情况下,可以使用直接数据库脚本更新播放。

您可以使用https://github.com/kaltura/server/blob/Kajam-11.18.0/alpha/scripts/utils/updateEntryInSphinx.php作为示例。 位于/opt/kaltura/app/alpha/scripts/utils/updateEntryInSphinx.php

$sphinx->saveToSphinx($entry, false, true);添加

之前
$entry->setPlays($entry->getPlays() + 1);
$entry->save();

使用php /opt/kaltura/app/alpha/scripts/utils/updateEntryInSphinx.php ENTRY_ID execute执行