我试图更新字段"播放"媒体条目,但代码运行时没有任何问题/例外,条目的值保持不变。
我使用的代码如下:
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() );
}
任何人都可以帮我这个吗? 提前谢谢。
答案 0 :(得分:1)
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
执行