我正在用Swift编写一个播客应用。对于播客搜索,我使用的是iTunes api,它工作得很好。但是,我需要使用手动输入或从OPML文件中提取的podcast feed url (xmlUrl)进行搜索,例如"https://feeds.megaphone.fm/slatemoney“。这不是iTunes接口中可以使用的参数。人们如何使用该值作为参数来搜索播客?
发布于 2020-01-08 03:59:21
TL:DR;iTunes搜索应用程序接口不允许针对feedUrl进行搜索。相反,我建议根据播客提要的标题和剧集标题查询iTunes搜索应用编程接口,然后与用户的提要进行比较,选择最佳匹配。
理想情况下,您可以使用feedURL字段来搜索播客搜索API,当您在“podcast”实体上执行搜索时会返回该字段。示例:
"wrapperType": "track",
"kind": "podcast",
"collectionId": 1469835145,
"trackId": 1469835145,
"artistName": "Jack Johnson",
"collectionName": "Football Is Anime Podcast",
"trackName": "Football Is Anime Podcast",
"collectionCensoredName": "Football Is Anime Podcast",
"trackCensoredName": "Football Is Anime Podcast",
"collectionViewUrl": "https://podcasts.apple.com/us/podcast/football-is-anime-podcast/id1469835145?uo=4",
"feedUrl": "https://feeds.simplecast.com/gbmDbRU_",
...但是,feedURL不是可以在应用编程接口中搜索的属性。iTunes搜索应用编程接口仅限于与播客相关的以下属性:
titleTerm,主板,languageTerm,主板,authorTerm,主板,genreIndex,主板,artistTerm,主板,ratingIndex,主板,keywordsTerm,主板,descriptionTerm
即使苹果提供了通过提要url进行搜索的能力,我也不会100%相信它,因为许多播客使用各种形式的HTTP重定向,这会导致不同的feedUrl存储在苹果播客中。例如:您的用户提供http://supercoolpodcast.com/feed,但苹果播客可能有https://podcasthost.com/user/supercoolpodcast/feed。因此,如果您在URL上进行搜索,它将失败。
你提到你需要‘使用podcast feed url进行搜索’,但是我不确定你想从iTunes搜索API中得到什么值。由于您可以从OPML文件或手动输入的feed url获取feedURL中的大多数播客元数据,因此我假设您希望获取特定于iTunes的数据: collectionId、trackId或viewURL。
我建议根据播客提要的标题和剧集标题查询iTunes搜索应用编程接口,然后与用户的提要进行比较,选择最匹配的。
1. Once you know which result is a match, the original result contains the CollectionId (which is Apple's identifier for that specific podcast), as well as the trackViewUrl (Apple's public URL for that podcast).https://stackoverflow.com/questions/59555807
复制相似问题