Date Obasanjo is frustrated with the Newsgator API, and I recognize his frustration:
So what does this have to do with the Newsgator API ? Users of recent versions of RSS Bandit can synchronize the state of their RSS feeds with Newsgator Online using the Newsgator API. Where things get tricky is that this means that both the RSS Bandit and Newsgator Online either need to use the same techniques for identifying posts OR have a common way to map between their identification mechanisms. When I first used the API, I noticed that Newsgator has it's own notion of a "Newsgator ID" which it expects clients to use. In fact, it's worse than that. Newsgator Online assumes that clients that synchronize with it actually just fetch all their data from Newsgator Online including feed content. This is a pretty big assumption to make but I'm sure it made it easier to solve a bunch of tricky development problems for their various products. Instead of worrying about keeping data and algorithms on the clients in sync with the server, they just replace all the data on the client with the server data as part of the 'synchronization' process.
There are plenty of feeds in my list that don't have guids, and I moved away from using the link item a couple of years ago as a backup - too many were nil, and too many items seemed to crop up with the same link. Those problems don't seem so bad now, but I came up with a manufactured ID when there's no GUID. Which there frequently isn't - running this code in my BottomFeeder image:
(RSSFeedManager default getAllItems
select: [:each | each guid isString and: [each guid size = 32]]) size
gives me 8,378 items - out of a total of 17,045. Nearly half. So yeah, it's frustrating.