更新 Kaltura Media 条目播放

Update Kaltura Media entry plays

我正在尝试更新媒体条目的字段 "plays",但是当代码在没有任何 problems/exceptions 的情况下运行时,条目的值保持不变。

我使用的代码如下:

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() );
}

谁能帮我解决这个问题? 提前致谢。

KalturaMediaEntry.plays 无法使用 API 更新,这是一个只读字段。 参见 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