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.
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 mediantesetArtist(). 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 mediantesetAlbum(). 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 mediantesetTrack(). 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$fromDatehasta$toDatepara el usuario actual.userGetPreviousWeeklyAlbumChart($fromDate, $toDate): Devuelve un objeto SimpleXML que contiene la Lista Semanal de Álbumes desde$fromDatehasta$toDatepara el usuario actual.userGetPreviousWeeklyTrackChart($fromDate, $toDate): Devuelve un objeto SimpleXML que contiene la Lista Semanal de Pistas desde$fromDatehasta$toDatepara 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 />';
}
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 />';
}
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.
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.
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): RequieresetFromDate()ysetToDate(). 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): RequieresetFromDate()ysetToDate(). 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.