You can make a difference in the Apple Support Community!

When you sign up with your Apple Account, you can provide valuable feedback to other community members by upvoting helpful replies and User Tips.

📰 Newsroom Update

Apple shares the most popular podcasts of 2024. Learn more >

Looks like no one’s replied in a while. To start the conversation again, simply ask a new question.

Failed validation: "Can’t download episodes from your feed."

I know that this is a common issue, but having looked through past answers each one seemed to have a different solution.


The error I'm getting is:

"Can’t download episodes from your feed."


The url I'm submitting is "http://www.cwmpawd.org/pregethau/?podcast"


I've been able to submit to other services (e.g. spotify and soundcloud).


Any suggestions gratefully appreciated.

Thanks.

Posted on Sep 21, 2019 5:13 PM

Reply
Question marked as Top-ranking reply

Posted on Sep 24, 2019 2:16 PM

The difficulty is that the php script checks what type of user is accessing the page and edits the rss output accordingly, so I can't check what the iTunes validator sees. But thanks for pointing me in the right direction, I've now been able to sort it out.


Here's the solution, in case someone else had a similar problem.


Given that iTunes is accessing the rss feed, the 'stats' flag should have been set to false ($stats = FALSE;). This means that the 2nd condition should have been triggered in the 'if' loop (if (!$stats)), but it wasn't for some reason. I edited this to if ($stats == 'FALSE'), I think that this should have the same outcome but it actually solved the issue.


Hopefully all's good now. Have submitted and just waiting for approval.


Thanks again.


Similar questions

6 replies
Question marked as Top-ranking reply

Sep 24, 2019 2:16 PM in response to Roger Wilmut1

The difficulty is that the php script checks what type of user is accessing the page and edits the rss output accordingly, so I can't check what the iTunes validator sees. But thanks for pointing me in the right direction, I've now been able to sort it out.


Here's the solution, in case someone else had a similar problem.


Given that iTunes is accessing the rss feed, the 'stats' flag should have been set to false ($stats = FALSE;). This means that the 2nd condition should have been triggered in the 'if' loop (if (!$stats)), but it wasn't for some reason. I edited this to if ($stats == 'FALSE'), I think that this should have the same outcome but it actually solved the issue.


Hopefully all's good now. Have submitted and just waiting for approval.


Thanks again.


Sep 22, 2019 5:24 PM in response to Roger Wilmut1

Thanks again for continued support.


So I've had a look at the php file which creates the rss (wordpress plugin - now unsupported). I know that this is probably outside the scope of this forum, but If you have time I'd massively appreciate your opinion.


It seems as though the php code (see below) already tries to take account for iTunes wanting the absolute path for the file. I've tested the three '$media_name=' conditions below and the results I get are (in order):

  1. http://www.cwmpawd.org/pregethau/?show&url=Ioan%209%281-40%29%20RJ.mp3
  2. http://www.cwmpawd.org/wp-content/uploads/sermons/Ioan%209%281-40%29%20RJ.mp3
  3. http://www.cwmpawd.org/pregethau/?show&file_name=Ioan%209%281-40%29%20RJ.mp3


I take it that iTunes expects condition 2, but is actually getting condition 3? I don't want to hard code or force condition 2 in case any other podcast services are expecting 1 or 3. Any suggestions why iTunes isn't seeing what it's expecting?


Thanks in advance


// Convert filename to URL, perhaps with stats
// Stats have to be turned off for iTunes compatibility
function sb_podcast_file_url($media_name, $media_type) {
 $user_agent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';
 if (stripos($user_agent, 'itunes') !== FALSE || stripos($user_agent, 'FeedBurner') !== FALSE || stripos($user_agent, 'AppleCoreMedia') !== FALSE)
  $stats = FALSE;
 else
  $stats = TRUE;
 if ($media_type == 'URLs') {
  if ($stats)
   $media_name=sb_display_url().sb_query_char().'show&url='.rawurlencode($media_name);
 } else {
  if (!$stats)
   $media_name=trailingslashit(site_url()).ltrim(sb_get_option('upload_dir'), '/').rawurlencode($media_name);
  else
   $media_name=sb_display_url().sb_query_char().'show&file_name='.rawurlencode($media_name);
 }
 return sb_xml_entity_encode($media_name);
}


Regarding the filename formatting... I know :-( unfortunately I'm not the one responsible for this.

Sep 22, 2019 1:47 PM in response to llionevans

Both lead to an MP3 file: the second is preferable because the first one forces a download - this may or may not be a problem, and the second one is the one to use.


The actual filename is 'Datguddiad 18(1) - 19(10) EJ.mp3' - spaces are not allowed in a URL and the bracket characters aren't acceptable, which is why all the coding - %20 for a space and so on. This shouldn't be a problem, just untidy. It's generally better to avoid this - replacing spaces with underscores is a common workaround, and perhaps hyphens would do for the opening brackets and lose the closing one: it's up to you, as I say it should work at as it is.

Sep 22, 2019 11:36 PM in response to llionevans

I'm afraid PHP is way outside my experience. The best advice I can offer is that you check you mp3 file by entering the URL in the address bar of a browser. Ideally it should play directly within the browser; if it downloads that may be OK (it used not to be but it looks as if nowadays it doesn't cause a problem) though it's preferable to avoid it. What you don't want is a web page with an embedded player.

Failed validation: "Can’t download episodes from your feed."

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.