feedstoreprovider can be used to refresh/update a feed?

Topics: User Forum
Jan 23, 2007 at 12:50 PM
Can I use the feedstoreprovider to refresh/update a feed or even a 'refresh all'?
Jan 23, 2007 at 7:59 PM
Sure can. I'll be at work in an hour or so, and I'll post my "refresh-feeds" script which refreshes the entire list.
Jan 23, 2007 at 9:23 PM
Ok, here's a script to synchronously update all my feeds:

gci feed:\ -rec |
? {$_.Type -eq "Feed"} |
% {
write-host -noNewLine $_.Name;
write-host ("`t(" + $_.UnreadItemCount + ")");

I quite like this one 'coz it shows each feed as it updates, so you get a real idea of what's happening.

Here's one to do 'em all asynchronously:

gci feed:\ -rec |
? {$_.Type -eq "Feed"} |
% {$_.AsyncDownload();}

Hope this helps!
Jan 30, 2007 at 7:58 PM
That's great!

Comments on how to handle non-responsive feeds?

I checked and they are both currently down with different problems it seems.

SAPIEN Technologies - The Official BlogException calling "Download" with "0" argument(s): "Invalid at the top level of t
he document.
At line:5 char:12
+ $_.Download( <<<< );
Precision ComputingException calling "Download" with "0" argument(s): "Exception from HRESULT: 0x800C0008"
At line:5 char:12
+ $_.Download( <<<< );
Jan 30, 2007 at 10:03 PM
Yeah, the Precision Computing blog fails for me every time too, as does Carl Franklin's blog at intellectualhedonism.com. They're both driven by dasBlog - don't know if that has something to do with it. It's very strange though.

The first error you mention - the "invalid" error - we can't really do anything about. Microsoft explicitly stated early in the development of their RSS platform that malformed feeds wouldn't work. If the published of the feed includes an illegal character in the XML text, then it will error when the platform tries to update it.
Jan 31, 2007 at 1:28 PM
The 'invalid' code is just a strange error that feed is giving. It has been disable due to exceeding bandwidth, and IE says something about 'does not support DTDs' or something when viewed. I think somekind of error is thrown from the server due to the bandwidth limit.