TigerZF
🌐Español

64.17. Zend_Service_Audioscrobbler

64.17.1. Introducción

Zend_Service_Audioscrobbler es una API sencilla para utilizar el servicio web REST de Audioscrobbler. El servicio web Audioscrobbler proporciona acceso a su base de datos de Usuarios, Artistas, Álbumes, Pistas, Etiquetas, Grupos y Foros. Los métodos de la clase Zend_Service_Audioscrobbler comienzan con uno de estos términos. La sintaxis y los espacios de nombres del servicio web Audioscrobbler se reflejan en Zend_Service_Audioscrobbler. Para más información acerca del servicio web REST de Audioscrobbler, visite el sitio del servicio web Audioscrobbler.

64.17.2. Usuarios

Para recuperar información de un usuario específico, primero se utiliza el método setUser() para seleccionar el usuario del que se van a recuperar los datos. Zend_Service_Audioscrobbler proporciona varios métodos para recuperar datos específicos de un único usuario:

  • userGetProfileInformation(): Devuelve un objeto SimpleXML que contiene la información del perfil del usuario actual.

  • userGetTopArtists(): Devuelve un objeto SimpleXML que contiene una lista de los artistas más escuchados por el usuario actual.

  • userGetTopAlbums(): Devuelve un objeto SimpleXML que contiene una lista de los álbumes más escuchados por el usuario actual.

  • userGetTopTracks(): Devuelve un objeto SimpleXML que contiene una lista de las pistas más escuchadas por el usuario actual.

  • userGetTopTags(): Devuelve un objeto SimpleXML que contiene una lista de las etiquetas más aplicadas por el usuario actual.

  • userGetTopTagsForArtist(): Requiere que se establezca un artista mediante setArtist(). Devuelve un objeto SimpleXML que contiene las etiquetas más aplicadas al artista actual por el usuario actual.

  • userGetTopTagsForAlbum(): Requiere que se establezca un álbum mediante setAlbum(). Devuelve un objeto SimpleXML que contiene las etiquetas más aplicadas al álbum actual por el usuario actual.

  • userGetTopTagsForTrack(): Requiere que se establezca una pista mediante setTrack(). Devuelve un objeto SimpleXML que contiene las etiquetas más aplicadas a la pista actual por el usuario actual.

  • userGetFriends(): Devuelve un objeto SimpleXML que contiene los nombres de usuario de los amigos del usuario actual.

  • userGetNeighbours(): Devuelve un objeto SimpleXML que contiene los nombres de usuario de las personas con hábitos de escucha similares al usuario actual.

  • userGetRecentTracks(): Devuelve un objeto SimpleXML que contiene las 10 pistas reproducidas más recientemente por el usuario actual.

  • userGetRecentBannedTracks(): Devuelve un objeto SimpleXML que contiene una lista de las 10 pistas vetadas más recientemente por el usuario actual.

  • userGetRecentLovedTracks(): Devuelve un objeto SimpleXML que contiene una lista de las 10 pistas marcadas como favoritas más recientemente por el usuario actual.

  • userGetRecentJournals(): Devuelve un objeto SimpleXML que contiene una lista de las entradas de diario más recientes del usuario actual.

  • userGetWeeklyChartList(): Devuelve un objeto SimpleXML que contiene una lista de semanas para las que existen Listas Semanales para el usuario actual.

  • userGetRecentWeeklyArtistChart(): Devuelve un objeto SimpleXML que contiene la Lista Semanal de Artistas más reciente para el usuario actual.

  • userGetRecentWeeklyAlbumChart(): Devuelve un objeto SimpleXML que contiene la Lista Semanal de Álbumes más reciente para el usuario actual.

  • userGetRecentWeeklyTrackChart(): Devuelve un objeto SimpleXML que contiene la Lista Semanal de Pistas más reciente para el usuario actual.

  • userGetPreviousWeeklyArtistChart($fromDate, $toDate): Devuelve un objeto SimpleXML que contiene la Lista Semanal de Artistas desde $fromDate hasta $toDate para el usuario actual.

  • userGetPreviousWeeklyAlbumChart($fromDate, $toDate): Devuelve un objeto SimpleXML que contiene la Lista Semanal de Álbumes desde $fromDate hasta $toDate para el usuario actual.

  • userGetPreviousWeeklyTrackChart($fromDate, $toDate): Devuelve un objeto SimpleXML que contiene la Lista Semanal de Pistas desde $fromDate hasta $toDate para el usuario actual.

Ejemplo 64.77. Recuperación de la información del perfil de un usuario

En este ejemplo, utilizamos los métodos setUser() y userGetProfileInformation() para recuperar la información del perfil de un usuario específico:

$as = new Zend_Service_Audioscrobbler();
// Set the user whose profile information we want to retrieve
$as->setUser('BigDaddy71');
// Retrieve BigDaddy71's profile information
$profileInfo = $as->userGetProfileInformation();
// Display some of it
print "Information for $profileInfo->realname "
    . "can be found at $profileInfo->url";

Ejemplo 64.78. Recuperación de la Lista Semanal de Artistas de un usuario

$as = new Zend_Service_Audioscrobbler();
// Set the user whose profile weekly artist chart we want to retrieve
$as->setUser('lo_fye');
// Retrieves a list of previous weeks for which there are chart data
$weeks = $as->userGetWeeklyChartList();
if (count($weeks) < 1) {
    echo 'No data available';
}
sort($weeks); // Order the list of weeks

$as->setFromDate($weeks[0]); // Set the starting date
$as->setToDate($weeks[0]); // Set the ending date

$previousWeeklyArtists = $as->userGetPreviousWeeklyArtistChart();

echo 'Artist Chart For Week Of '
   . date('Y-m-d h:i:s', $as->from_date)
   . '<br />';

foreach ($previousWeeklyArtists as $artist) {
    // Display the artists' names with links to their profiles
    print '<a href="' . $artist->url . '">' . $artist->name . '</a><br />';
}

64.17.3. Artistas

Zend_Service_Audioscrobbler proporciona varios métodos para recuperar datos sobre un artista específico, indicado mediante el método setArtist():

  • artistGetRelatedArtists(): Devuelve un objeto SimpleXML que contiene una lista de Artistas similares al Artista actual.

  • artistGetTopFans(): Devuelve un objeto SimpleXML que contiene una lista de Usuarios que más escuchan al Artista actual.

  • artistGetTopTracks(): Devuelve un objeto SimpleXML que contiene una lista de las Pistas mejor valoradas del Artista actual.

  • artistGetTopAlbums(): Devuelve un objeto SimpleXML que contiene una lista de los Álbumes mejor valorados del Artista actual.

  • artistGetTopTags(): Devuelve un objeto SimpleXML que contiene una lista de las Etiquetas más frecuentemente aplicadas al Artista actual.

Ejemplo 64.79. Recuperación de artistas relacionados

$as = new Zend_Service_Audioscrobbler();
// Set the artist for whom you would like to retrieve related artists
$as->setArtist('LCD Soundsystem');
// Retrieve the related artists
$relatedArtists = $as->artistGetRelatedArtists();
foreach ($relatedArtists as $artist) {
    // Display the related artists
    print '<a href="' . $artist->url . '">' . $artist->name . '</a><br />';
}

64.17.4. Pistas

Zend_Service_Audioscrobbler proporciona dos métodos para recuperar datos específicos de una única pista, indicada mediante el método setTrack():

  • trackGetTopFans(): Devuelve un objeto SimpleXML que contiene una lista de Usuarios que más escuchan la Pista actual.

  • trackGetTopTags(): Devuelve un objeto SimpleXML que contiene una lista de las Etiquetas más frecuentemente aplicadas a la Pista actual.

64.17.5. Etiquetas

Zend_Service_Audioscrobbler proporciona varios métodos para recuperar datos específicos de una única etiqueta, indicada mediante el método setTag():

  • tagGetOverallTopTags(): Devuelve un objeto SimpleXML que contiene una lista de las Etiquetas más frecuentemente usadas en Audioscrobbler.

  • tagGetTopArtists(): Devuelve un objeto SimpleXML que contiene una lista de Artistas a los que se ha aplicado con más frecuencia la Etiqueta actual.

  • tagGetTopAlbums(): Devuelve un objeto SimpleXML que contiene una lista de Álbumes a los que se ha aplicado con más frecuencia la Etiqueta actual.

  • tagGetTopTracks(): Devuelve un objeto SimpleXML que contiene una lista de Pistas a las que se ha aplicado con más frecuencia la Etiqueta actual.

64.17.6. Grupos

Zend_Service_Audioscrobbler proporciona varios métodos para recuperar datos específicos de un único grupo, indicado mediante el método setGroup():

  • groupGetRecentJournals(): Devuelve un objeto SimpleXML que contiene una lista de las entradas de diario recientes de los Usuarios del Grupo actual.

  • groupGetWeeklyChart(): Devuelve un objeto SimpleXML que contiene una lista de semanas para las que existen Listas Semanales para el Grupo actual.

  • groupGetRecentWeeklyArtistChart(): Devuelve un objeto SimpleXML que contiene la Lista Semanal de Artistas más reciente para el Grupo actual.

  • groupGetRecentWeeklyAlbumChart(): Devuelve un objeto SimpleXML que contiene la Lista Semanal de Álbumes más reciente para el Grupo actual.

  • groupGetRecentWeeklyTrackChart(): Devuelve un objeto SimpleXML que contiene la Lista Semanal de Pistas más reciente para el Grupo actual.

  • groupGetPreviousWeeklyArtistChart($fromDate, $toDate): Requiere setFromDate() y setToDate(). Devuelve un objeto SimpleXML que contiene la Lista Semanal de Artistas desde el fromDate actual hasta el toDate actual para el Grupo actual.

  • groupGetPreviousWeeklyAlbumChart($fromDate, $toDate): Requiere setFromDate() y setToDate(). Devuelve un objeto SimpleXML que contiene la Lista Semanal de Álbumes desde el fromDate actual hasta el toDate actual para el Grupo actual.

  • groupGetPreviousWeeklyTrackChart($fromDate, $toDate): Devuelve un objeto SimpleXML que contiene la Lista Semanal de Pistas desde el fromDate actual hasta el toDate actual para el Grupo actual.

64.17.7. Foros

Zend_Service_Audioscrobbler proporciona un método para recuperar datos específicos de un único foro, indicado mediante el método setForum():

  • forumGetRecentPosts(): Devuelve un objeto SimpleXML que contiene una lista de las publicaciones recientes en el foro actual.