Generadores de feeds de iTunes y Roku

Este tema contiene código PHP de muestra para generar feeds para iTunes y Roku

Introducción

A continuación se muestran dos aplicaciones PHP para generar feeds para iTunes y Ruku, usando la API de reproducción como fuente de información de video.

Generador de fuentes de iTunes

');
  eco"\\n";
  imprimir('');
 eco"\\n";
 imprimir('');
 eco"\\n";
 imprimir('	'. $título .'');
 eco"\\n";
 imprimir('	'. $enlace .'');
 eco"\\n";
 imprimir('	'. $lang .'');
 eco"\\n";
 imprimir('	'. $derechos de autor .'');
 eco"\\n";
 imprimir('	'. $subtítulo .'');
 eco"\\n";
 imprimir('	'. $autor .'');
 eco"\\n";
 imprimir('	'. $fechapublicación .'');
 eco"\\n";
 imprimir('	');
 eco"\\n";
 imprimir('	');
 eco"\\n";
 imprimir('	');
 eco"\\n";
 imprimir('		'. $nombredelpropietario.'');
 eco"\\n";
 imprimir('		'. $propietarioemail .'');
 eco"\\n";
 imprimir('	');
 eco"\\n";
 imprimir('	');
 eco"\\n";
 imprimir('	');
 eco"\\n";
 imprimir('	'. $explícito.'');
 eco"\\n";
 eco"\\n";
  
  
 función formatSeconds ($ segundos)
 {
 $segundos = ($segundos / 1000);
 $horas = 0;
 $milisegundos = str_replace( "0.", '', $segundos - piso( $segundos ) );
  
 si ($segundos > 3600)
 {
 $horas = piso ($segundos / 3600);
 }
 $segundos = $segundos % 3600;
  
  
 devuelve str_pad ($ horas, 2, '0', STR_PAD_LEFT) . gmdate(':i:s', $segundos);
 }
  
  
  
 $ch = curl_init();
 $tiempo de espera = 5; // se pone a cero para que no se agote el tiempo de espera
 curl_setopt ($ch, CURLOPT_URL, $baseURL . $accountId . '/playlists/'. $playlistid);
 curl_setopt ($ch, CURLOPT_HTTPHEADER, array(('Autorización:BCOV-Policy'. $policyKey),('BCOV-Policy:'. $policyKey),('Accept:application/json;pk='. $policyKey)) );
 curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
 curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $tiempo de espera);
 $contenido_archivo = curl_exec($ch);
 curl_close($ch);
  
 $returndata = json_decode($archivo_contenido);
  
 foreach($returndata->videos como $elementos)
 {
 imprimir('	');
 eco"\\n";
 imprimir('		');
 print_r($elementos->{"nombre"});
 imprimir('');
 eco"\\n";
   
 imprimir('		');
 print_r($items->custom_fields->{"itunesartist"});
 imprimir('');
 eco"\\n";
   
 imprimir('		');
 print_r($elementos->{"descripción"});
 imprimir('');
 eco"\\n";
  
 imprimir('		');
 print_r($elementos->{"descripción"});
 imprimir('');
 eco"\\n";
   
 imprimir('		');
 print_r($elementos->{"cartel"});
 imprimir('');
 eco"\\n";
   
 imprimir('		 <url del recinto="');
 $nuevaurl = $elementos->fuentes[4]->{"src"};
 print_r($nuevaurl);
 imprimir ('" longitud = "');
 print_r($elementos->{"duración"});
 imprimir('" tipo="video/mp4" />');
 eco"\\n";
   
 imprimir('		');
 print_r($elementos->{"id"});
 imprimir('');
 eco"\\n";
   
 imprimir('		');
 print_r(fecha(DATE_RFC2822,($items->{"published_at"})));
 imprimir('');
 eco"\\n";
   
 imprimir('		');
 print($duración = formatSeconds($elementos->{"duración"}));
 imprimir('');
 eco"\\n";
  
 imprimir('		');
 print_r($elementos->campos_personalizados->{"explícito"});
 imprimir('');
 eco"\\n";
  
   
 imprimir('	');
 eco"\\n";
 }
  
 eco"\\n";
  
 imprimir('');
 eco"\\n";
 imprimir('');
  
  ?>

Generador de alimentación Roku

');
  echo"\n";
  print('');
  echo"\n";
  print('	'. $title .'');
  echo"\n";
  print('	'. $link .'');
  echo"\n";
  print('	');
  echo"\n";
  
  $ch = curl_init();
  $timeout = 5; // set to zero for no timeout
  curl_setopt ($ch, CURLOPT_URL, $baseURL . $accountId . '/playlists/'. $playlistid);
  curl_setopt ($ch, CURLOPT_HTTPHEADER, array(('Authorization:BCOV-Policy '. $policyKey),('BCOV-Policy:'. $policyKey),('Accept:application/json;pk='. $policyKey)));
  curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
  $file_contents = curl_exec($ch);
  curl_close($ch);
  
  $returndata = json_decode($file_contents);
  
  foreach($returndata->videos as $items)
  {
  print('	');
  echo"\n";
  
  print('		');
  print_r($items->{"id"});
  print('');
  echo"\n";
  
  print('		');
  print_r(date(DATE_RFC2822,($items->{"published_at"})));
  print('');
  echo"\n";
  
  print('		');
  print_r($items->{"name"});
  print('');
  echo"\n";
  
  print('		');
  print_r($items->{"description"});
  print('');
  echo"\n";
  
  print('		');
  print_r($items->custom_fields->{"roku_category"});
  print('');
  echo"\n";
  
  print('		');
  echo"\n";
  
  
  print('		');
  echo"\n";
  
  
  print('		');
  echo"\n";
  
  // print_r($items);  DUMP THE ENTIRE ARRAY FOR TESTING
   
  print('	');
  echo"\n";
  }
  
  echo"\n";
  
  print('');
  echo"\n";
  print('');
  
  ?>