mkiol / kaktus

Mobile feed reader for Netvibes, Tiny Tiny RSS and Old Reader
Mozilla Public License 2.0
19 stars 11 forks source link

Configurable API URL #26

Open Frenzie opened 5 years ago

Frenzie commented 5 years ago

The Old Reader API is basically a Google Reader compatible API. So anywhere https://theoldreader.com/reader/api is hardcoded in the source, it would likely already work with FreshRSS and other compatible aggregators. See here. I haven't been able to test it yet, because my pre-lunch time was taken up by #25 instead.

A few samples:

https://github.com/mkiol/kaktus/blob/7658ad9015ad94e52082ce6446a5e8099d4840c8/sailfish/src/oldreaderfetcher.cpp#L82

https://github.com/mkiol/kaktus/blob/7658ad9015ad94e52082ce6446a5e8099d4840c8/sailfish/src/oldreaderfetcher.cpp#L140-L173

mkiol commented 5 years ago

Thank you for bringing this to my attention. Actually I've tried to enable support for Feedly which also derivatives from Google Reader. It wasn't as straight forward as I initially thought. Unfortunately when my implementation was ready, Feedly decided to not issues any API key to third party developers.. at least not for free.

To be honest, I'm not planing to release any new update of Kaktus. It was my first SFOS app and therefore code quality is very pure. Once I thought about rewriting it from the scratch but the amount of work is just too big.

Frenzie commented 5 years ago

@mkiol Oh, that's too bad. It's working correctly in its current form, right? Like I said, I might be interested in updating it to be a viable client for FreshRSS (and other API-compatible servers) on Sailfish, like @Alkarex did for EasyRSS on Android. (See here in case you're curious.) Within the context of this discussion, perhaps most notably this commit.

Anyway, I don't have my heart set on this specific client or anything. But it looked very nice in the screenshots and The Old Reader support sounded ideal. So I'll look around a bit more first. (Just using EasyRSS is also an option.) Do you perhaps have any tips on other clients to look at?

Frenzie commented 5 years ago

PS I previously forgot to mention that adding API compatibility is a two-way street here (if necessary).

razcampagne commented 5 years ago

Hi, Sorry for barging in, I myself was impressed by the UX of kaktus and am currently implementing a Tiny Tiny Rss fetcher. I hope you'll be willing to merge my work when it is ready.

mkiol commented 5 years ago

@razcampagne Ohh.. Yes, If you already started your work, definitely I will merge it and release it.

mkiol commented 5 years ago

@Frenzie

adding API compatibility is a two-way street here (if necessary)

Thank you. I have to look into Kaktus code to estimate the scope of work needed to implement new GReader compatible (generic) aggregator. My last commit was two years ago and I almost forgot everything. As you suggested, maybe eventually it is not so complex task to do.

Frenzie commented 5 years ago

@Alkarex @mkiol

They list these differences.

https://github.com/theoldreader/api#differences

Currently only json format is supported We use BSON ObjectId for user, item, subscription identifiers (example: 00157a17b192950b65be3791) We also use ObjectId in Stream Ids instead of URL (example: feed/00157a17b192950b65be3791) Current user id is replaced with - in state/label strings (examples: user/-/state/com.google/reading-list, user/-/label/Folder)

Do you know otoh if any of that is problematic for FreshRSS, @Alkarex?

Alkarex commented 5 years ago
  1. JSON format is also the one FreshRSS supports.
  2. Not sure. Should be fine.
  3. Should be fine.
  4. - is fine