Question

J'écris une application de référence de la musique et pour chaque album (tiré de last.fm) voudrais lien vers l'ITMS (si l'album est dans le magasin).

lien iTunes outil web maker http://apple.com/itunes/linkmaker/ est idéal pour obtenir des liens pour un album connu mais je dois y accéder programatically à partir de mon application.

NSLog blogpost qui est de 2003, mais a été référencé plus récemment dans une autre question semble offrir la seule solution que je suis venu à travers jusqu'à présent, ce qui suggère de soumettre une requête à:

  

phobos.apple.com/WebObjects/MZSearch.woa/wa/advancedSearchResults?

     

Put « itms: // » avant et le lien fonctionnera dans iTunes, mettre « http: // ». Avant et le lien fonctionnera dans Camino (Safari crache parfois à tort une erreur XML malformé)

     

Les balises qui sont d'une importance sont comme suit:

     
      
  • songTerm - Titre de la chanson
  •   
  • artistTerm - nom de l'artiste
  •   
  • albumTerm - nom de l'album
  •   
  • composerTerm - nom du compositeur
  •   
  • terme - tous les champs
  •   

La suggestion est que le ferait en utilisant http: // plutôt que iTMS: // le serveur renvoie un document XML des résultats au lieu d'iTunes d'ouverture mais de toute façon je suis envoyé directement à iTunes

.

Est-il possible de récupérer une liste de résultats?

Était-ce utile?

La solution

J'utilise LinkMaker pour obtenir des détails sur iTunes chanson je joue. Pour cela, je trouve que LinkMaker est capable de renvoyer des données JSON et aussi 1 résultat à la fois.

J'utilise cette URL pour perfom ma requête:

  

http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStoreServices.woa/wa/itmsSearch?lang=1&output=json&country=%@&term=%@&media =% @ & limit = 1 "

Voici les paramètres que vous devez donner:

> country : store country term : could
> contains artist name, song name, album
> media : music

Pour exemple, si vous voulez avoir des détails pour une chanson intitulée « One » par « U2 » est ici l'URL correcte:

http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStoreServices.woa/wa/itmsSearch?lang=1&output=json&country=US&term=U2%20one&media=music&limit=1

Ensuite, vous recevrez des données JSON comme ceci:

{
 "resultCount":1,
 "results": [
{"wrapperType":"track", "mediaType":"song", "artistName":"U2", "itemParentName":"Achtung Baby", "itemParentCensoredName":"Achtung Baby", "itemCensoredName":"One", "itemName":"One", "artistLinkUrl":"http://itunes.apple.com/us/artist/u2/id78500?uo=4", "artworkUrl60":"http://a1.phobos.apple.com/us/r1000/009/Features/32/9a/60/dj.mfynlttx.60x60-50.jpg", "artworkUrl100":"http://a1.phobos.apple.com/us/r1000/009/Features/32/9a/60/dj.mfynlttx.100x100-75.jpg", "country":"USA", "currency":"USD", "discCount":1, "discNumber":1, "itemExplicitness":"notExplicit", "itemLinkUrl":"http://itunes.apple.com/us/album/one/id368713?i=368617&uo=4", "itemPrice":"1.29000", "itemParentExplicitness":"notExplicit", "itemParentLinkUrl":"http://itunes.apple.com/us/album/one/id368713?i=368617&uo=4", "itemParentPrice":"9.99000", "previewUrl":"http://a1.phobos.apple.com/us/r1000/019/Music/b6/8c/c5/mzm.epegonxg.aac.p.m4a", "primaryGenreName":"Rock", "trackCount":12, "trackNumber":3, "trackTime":276042}]
}

Vous devez ensuite décoder ces données JSON.

NSDictionary *jsonResultsParsed = [jsonResults JSONValue];

Et enfin obtenir ce que vous voulez:

NSDictionary *songDetailsDict = [[jsonResultsParsed objectForKey:@"results"] objectAtIndex:0];

Si vous voulez déterminer le pays de l'utilisateur, vous devez déterminer son pays en utilisant ses paramètres régionaux, voici le code que je utilise:

- (NSString *)getUserCountry
{
    NSLocale *locale = [NSLocale currentLocale];
    return [locale objectForKey: NSLocaleCountryCode];
}

Hope this helps.

Thierry

Edit: Enfin un doc est disponible:

http: / /www.apple.com/itunes/affiliates/resources/documentation/itunes-store-web-service-search-api.html

Autres conseils

Ce document iTunes service Web Store Recherche API (pdf ), bien que vieux et incomplet, semble être la façon d'y parvenir.

Il est une expérience douloureuse si cette mise en place, comme cela a été toute autre partie du programme d'affiliation.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top