Skip to content

FreshRSS implementation notes

Andrea Peltrin edited this page Dec 20, 2023 · 3 revisions

Status

The Google Reader/FreshRSS API support is currently under development on the greader branch.

Tested clients

All the software used are macOS and iOS applications. The current list is:

  • NetNewsWire (macOS)
  • ReadKit (macOS)
  • Reeder (iOS)

Auth

TODO

Sync requests

All the tested clients do a sync using these endpoints:

"GET /freshrss/api/greader.php/reader/api/0/tag/list?output=json HTTP/1.1" 200 -
"GET /freshrss/api/greader.php/reader/api/0/subscription/list?output=json HTTP/1.1" 200 -
"GET /freshrss/api/greader.php/reader/api/0/stream/items/ids?n=1000&output=json&s=user/-/state/com.google/reading-list&xt=user/-/state/com.google/read HTTP/1.1" 200 -
"GET /freshrss/reader/api/0/stream/items/ids?n=1000&output=json&s=user/-/state/com.google/starred HTTP/1.1" 200 -
"POST /freshrss/api/greader.php/reader/api/0/stream/items/contents HTTP/1.1" 200 -

Hence the strategy is:

  • Get a list of available tags (or Groups in Coldsweat parlance)
  • Get a list of user subscriptions, so feeds and tags can be associated
  • Get a list of entry id's from the main user/-/state/com.google/reading-list stream, excluding already read items until now
  • Get a list of entry id's containing the saved entries
  • Finally get the entry actual contents, using items/contents call