我正在用Swift编写播客应用。对于播客搜索,我使用的是iTunes api,它可以正常工作。但是,我需要使用手动输入或从OPML文件(例如“ https://feeds.megaphone.fm/slatemoney”)中提取的播客Feed网址(xmlUrl)进行搜索。这不是可以在iTunes api中使用的参数。人们会使用该值作为参数来搜索播客吗?
TL:DR; iTunes Search API不允许针对feedUrl进行搜索。相反,我建议根据播客feed的标题和剧集标题查询iTunes Search API,然后与您的用户的feed进行比较并选择最匹配的内容。
理想情况下,您可以使用feedURL字段来搜索[iTunes Search API] [1],当您在“播客”实体上执行搜索时会返回该字段。示例:
"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不是可在API中搜索的可用属性。 iTunes Search API限于与播客相关的以下属性:
titleTerm,languageTerm,authorTerm,genreIndex,artistTerm,ratingIndex,keywordTerm,descriptionTerm
即使Apple提供了按feed URL进行搜索的功能,我也不相信100%的搜索都可以,因为许多播客使用各种形式的HTTP重定向,这导致将不同的feedUrl存储在Apple播客中。例如:您的用户提供http://supercoolpodcast.com/feed,但Apple Podcast可能具有https://podcasthost.com/user/supercoolpodcast/feed。因此,如果您搜索URL,它将失败。
[您注意到您需要'使用播客供稿URL进行搜索',但是我不确定要从iTunes Search API获取哪些值。由于您可以从OPML文件或手动输入的提要URL中获取feedURL中的大部分播客元数据,因此,我假设您要获取特定于iTunes的数据:collectionId,trackId或viewURL。] >
[我建议根据播客feed的标题和剧集标题查询iTunes Search API,然后与您的用户的feed进行比较并选择最佳匹配。
您可能会得到多个结果。每个结果都提供一个标题,您可以将其与用户的URL进行比较,以及feedUrl,您可以查询情节标题并用于进行比较。
[1] https://affiliate.itunes.apple.com/resources/documentation/itunes-store-web-service-search-ap