最近在我们的网站上,ooyala 的 v1 api 停止允许我们与 ooyala 的后台同步。我们的网站建立在 Drupal 第 6 版上。所以我升级到最新的第 6 版 Ooyala 模块并对我们的本地代码进行了更改。现在我可以使用 drupal_http_request() 来同步标题,但它不会将描述或标签同步到 Ooyala 的背景。下面是我正在使用的功能。
$request_test = video_update_ooyala_info($embed_code, $node->title, $node->field_video_description[0]['value']);
drupal_set_message("-request=
".print($request_test)."
-Function: </br>--".var_dump($embed_code)."
</br>--Title: ".$node->title."
</br>--Description: ".$node->field_video_description[0]['value']. "
</br>--Failed to sync the title and description to Ooyala. Please try saving again.", 'warning');
}
function video_update_ooyala_info($embedcode, $title, $description) {
$ooyala_api = new OoyalaDrupalWrapper('sksnuKYFA0t8Lxs0FT2WmgIsftVKRtLVtflJSWP8', '52OW06CJSttaayZSm0kW3ZoSKvxA.QXRId');
$request = $ooyala_api->signed_params(
array(
'embedCode' => $embedcode,
'title' => $title,
'description' => $description,
)
);
$request_headers = array('Content-Type' => 'application/x-www-form-urlencoded');
$request_method = 'patch';
$response = drupal_http_request("http://api.ooyala.com/v2/assets?xzOTEzYjpmjnBNLeBPSd53PVAAmSur9g",$request_headers,$request_method,$request);
$success = FALSE;
if ($response->data) {
$success = ($response->data == '200');
}
return $response;
}
这是我得到的输出消息。
-请求= -功能:
--Title:测试标题 --Description:测试描述 --无法将标题和描述同步到 Ooyala。请再次尝试保存。
所以标题和描述附加在同一个http请求上,嵌入代码是正确的。标题确实与外景同步,但描述不同步。从 ooyala 返回的请求是空的。不知道发生了什么。任何帮助我指出正确的方向将不胜感激。
同样在错误日志中,我从 foreach 语句的 ooyala.api 收到此错误。
在第 316 行的 /sites/all/modules/ooyala/includes/ooyala.api.inc 中为 foreach() 提供的参数无效。
function ooyala_api_video_label_add($embed_code, $labels) {
$ooyala_api = new OoyalaDrupalWrapper();
foreach ($embed_code as $embed) {
$ooyala_api->api->request(POST, "/v2/assets/$embed/labels", json_encode(array_values($labels)));
}
}