Cocoalibspotify 搜索特定歌曲

Posted

技术标签:

【中文标题】Cocoalibspotify 搜索特定歌曲【英文标题】:Cocoalibspotify searching for specific song 【发布时间】:2013-12-24 07:41:22 【问题描述】:

我正在尝试使用 Spotify Objective-c 库来搜索属于艺术家专辑的特定歌曲。我不想使用 searchWithSearchQuery 方法(它工作正常),因为我想更具体。有一个名为 searchWithURL 的方法,如下所示。我没有看到任何关于如何构建这些 URL 的文档。它只是说它必须以 spotify:search 开头。之后会发生什么?如何指定艺术家、专辑、歌曲?谢谢!

/** Creates a new SPSearch with the default page size from the given Spotify search URL. 

 This convenience method is simply returns a new, autoreleased SPSearch
 object. No caching is performed.

 @warning If you pass in an invalid search URL (i.e., any URL not
 starting `spotify:search:`, this method will return `nil`.

 @warning The search query will be sent to the Spotify search service
 immediately. Be sure you want to perform the search before creating the object!

 @param searchURL The search URL to create an SPSearch for.
 @param aSession The SPSession the track should exist in.
 @return Returns the created SPSearch object. 
 */
+(SPSearch *)searchWithURL:(NSURL *)searchURL inSession:(SPSession *)aSession;

【问题讨论】:

【参考方案1】:

搜索 URL 由 SPSearch 实例在您创建后创建,它们基本上对您第一次传递的查询进行编码。因此,searchWithURL: 对您来说不会比使用查询创建搜索更有用。

但是,要回答您更广泛的问题,您可以使用 Spotify Advanced Search Syntax 和 SPSearch 进行更准确的搜索。

例如,要查找完全命名为“Roar”的曲目:

[SPSearch searchWithSearchQuery:@"track:Roar"
                      inSession:[SPSession sharedSession]];

要查找由 Katy Perry 准确命名为“Roar”的曲目:

[SPSearch searchWithSearchQuery:@"track:Roar artist:\"Katy Perry\""
                      inSession:[SPSession sharedSession]]; 

...等等。查看链接页面了解更多详情。

【讨论】:

如果你能这么好,我实际上有一个后续问题。我知道您不能在没有登录用户的情况下使用 CocoaLibSpotify,但是有没有简单的方法可以在不进行身份验证的情况下进行搜索。也许通过使用 AFNetworking(在我们的应用程序中使用)直接调用 ws.spotify.com/search/1/track?q=...。我试过这样做,但它返回了 400,即使在浏览器中粘贴该 URL 工作正常。 Web API 是要走的路,但请记住,未经身份验证的搜索很有可能返回由于目录差异而导致用户登录后无法播放的结果。我已经使用NSURLRequest 多次调用了搜索 API,它工作正常,所以我不确定 AFNetworking 正在做什么来破坏它。响应的正文应该有一些信息。 我想通了。我设置请求的方式有问题。谢谢。

以上是关于Cocoalibspotify 搜索特定歌曲的主要内容,如果未能解决你的问题,请参考以下文章

返回空的特定搜索结果(Spotify API)

CocoaLibSpotify 中的 SPSearch

打算启动歌曲,在 Spotify 应用程序中搜索用户?

大量内存泄漏 - CocoaLibSpotify

我的手机为啥本机音乐搜索不到歌

哪个音乐网站歌曲比较全一点?