使用xmlUrl / Podcast Feed值搜索播客

问题描述 投票:0回答:1

我正在用Swift编写播客应用。对于播客搜索,我使用的是iTunes api,它可以正常工作。但是,我需要使用手动输入或从OPML文件(例如“ https://feeds.megaphone.fm/slatemoney”)中提取的播客Feed网址(xmlUrl)进行搜索。这不是可以在iTunes api中使用的参数。人们会使用该值作为参数来搜索播客吗?

rss itunes podcast opml
1个回答
0
投票

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进行比较并选择最佳匹配。

  1. 从用户在您的应用中提供的播客Feed网址中提取标题和剧集标题,该标题可在标记中找到。
  2. 根据iTunes Search API在播客标题上进行搜索。细节这里是[1],但是这里是example of the HTTP request
  3. 您可能会得到多个结果。每个结果都提供一个标题,您可以将其与用户的URL进行比较,以及feedUrl,您可以查询情节标题并用于进行比较。

    1. [一旦您知道哪个结果是匹配项,原始结果将包含CollectionId(这是该特定播客的Apple的标识符),以及trackViewUrl(该播客的Apple的公共URL)。
    2. [1] https://affiliate.itunes.apple.com/resources/documentation/itunes-store-web-service-search-ap

© www.soinside.com 2019 - 2024. All rights reserved.