Iphone iTunes音乐商店链接制造商&x2014 ;如何从我的应用程序中搜索?

Iphone iTunes音乐商店链接制造商&x2014 ;如何从我的应用程序中搜索?,iphone,itunes,itunes-store,Iphone,Itunes,Itunes Store,我正在编写一个音乐参考应用程序,每个专辑(从last.fm中提取)都希望链接到ITMS(如果专辑在商店中) iTunes link maker web工具非常适合获取已知专辑的链接,但我需要从我的应用程序中以编程方式访问它 这是从2003年开始的,但似乎是我到目前为止遇到的唯一解决方案,建议提交一个查询到: phobos.apple.com/WebObjects/MZSearch.woa/wa/advancedSearchResults 将“itms://”放在前面,链接将在iTunes中工作,

我正在编写一个音乐参考应用程序,每个专辑(从last.fm中提取)都希望链接到ITMS(如果专辑在商店中)

iTunes link maker web工具非常适合获取已知专辑的链接,但我需要从我的应用程序中以编程方式访问它

这是从2003年开始的,但似乎是我到目前为止遇到的唯一解决方案,建议提交一个查询到:

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

将“itms://”放在前面,链接将在iTunes中工作,将“http://”放在前面,链接将在Camino中工作(Safari有时会抛出格式错误的XML错误)

重要的标签如下所示:

  • 歌曲名称
  • 艺人术语-艺人名称
  • albumTerm-唱片集名称
  • 作曲家术语-作曲家名称
  • 术语-所有字段
建议使用http://而不是itms://服务器将返回结果的XML文档,而不是打开iTunes,但无论哪种方式,我都会被直接发送到iTunes

是否有可能获得一份结果列表?

这份pdf文档虽然陈旧且不完整,但似乎是实现这一目标的方法


设置这首歌是一次痛苦的经历,就像附属节目的其他部分一样。

我正在使用LinkMaker获取iTunes关于我正在播放的歌曲的详细信息。 为此,我发现LinkMaker能够一次返回json数据和一个结果

我正在使用此url执行查询:

"

以下是您需要给出的参数:

> country : store country term : could
> contains artist name, song name, album
> media : music
例如,如果您想了解一首名为“U2”的歌曲“One”的详细信息,以下是正确的URL:

然后您将收到如下json数据:

{
 "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}]
}
然后需要解码这些JSON数据

NSDictionary *jsonResultsParsed = [jsonResults JSONValue];
最终得到你想要的:

NSDictionary *songDetailsDict = [[jsonResultsParsed objectForKey:@"results"] objectAtIndex:0];
如果要确定用户所在国家/地区,则需要使用其区域设置确定其所在国家/地区,以下是我正在使用的代码:

- (NSString *)getUserCountry
{
    NSLocale *locale = [NSLocale currentLocale];
    return [locale objectForKey: NSLocaleCountryCode];
}
希望这有帮助

蒂埃里

编辑:最后一张单据可用:


谢谢您的使用示例。出于好奇,您是在应用程序中始终使用美国商店,还是根据用户的不同进行切换?