Freshrss: How to access the API?

Created on 25 Dec 2017  路  7Comments  路  Source: FreshRSS/FreshRSS

TL;DR: I don't know how to access the API

I've got all the configuration properly done since I've got PASS while following the links to validate the configuration.
The next step is to check if I can get the API. I was trying with cURL, wget and postman but I don't know how to authenticate.

I think something is missing in the documentation if you want to test the api without a supported app. Is the authentication in the URL, in an HTTP header, something else ?

API Documentation

Most helpful comment

# Initial login, using API password (Email and Passwd can be given either as GET, or POST - better)
curl 'https://freshrss.example.net/api/greader.php/accounts/ClientLogin?Email=alice&Passwd=Abcdef123456'
SID=alice/8e6845e089457af25303abc6f53356eb60bdb5f8
Auth=alice/8e6845e089457af25303abc6f53356eb60bdb5f8

# Examples of read-only requests
curl -s -H "Authorization:GoogleLogin auth=alice/8e6845e089457af25303abc6f53356eb60bdb5f8" \
'https://freshrss.example.net/api/greader.php/reader/api/0/subscription/list?output=json' | jq .

curl -s -H "Authorization:GoogleLogin auth=alice/8e6845e089457af25303abc6f53356eb60bdb5f8" \
'https://freshrss.example.net/api/greader.php/reader/api/0/unread-count?output=json' | jq .

curl -s -H "Authorization:GoogleLogin auth=alice/8e6845e089457af25303abc6f53356eb60bdb5f8" \
'https://freshrss.example.net/api/greader.php/reader/api/0/tag/list?output=json' | jq .

# Retrieve a token for requests making modifications
curl -H "Authorization:GoogleLogin auth=alice/8e6845e089457af25303abc6f53356eb60bdb5f8" \
'https://freshrss.example.net/api/greader.php/reader/api/0/token'
8e6845e089457af25303abc6f53356eb60bdb5f8ZZZZZZZZZZZZZZZZZ

All 7 comments

There is a number of documentation links at the top of https://github.com/FreshRSS/FreshRSS/blob/master/p/api/greader.php
But I suggest starting with an existing implementation of the Google Reader API in your favourite language, and adapt from there.

P.S. A good way to understand the mechanisms is also to turn on full logging https://github.com/FreshRSS/FreshRSS/blob/52d09886558361bd818182da9ddc204e83f618ba/p/api/greader.php#L676-L677 and access FreshRSS from an existing compatible client

See also some passed discussions on the topic such as https://github.com/FreshRSS/FreshRSS/issues/704 and linked issues

# Initial login, using API password (Email and Passwd can be given either as GET, or POST - better)
curl 'https://freshrss.example.net/api/greader.php/accounts/ClientLogin?Email=alice&Passwd=Abcdef123456'
SID=alice/8e6845e089457af25303abc6f53356eb60bdb5f8
Auth=alice/8e6845e089457af25303abc6f53356eb60bdb5f8

# Examples of read-only requests
curl -s -H "Authorization:GoogleLogin auth=alice/8e6845e089457af25303abc6f53356eb60bdb5f8" \
'https://freshrss.example.net/api/greader.php/reader/api/0/subscription/list?output=json' | jq .

curl -s -H "Authorization:GoogleLogin auth=alice/8e6845e089457af25303abc6f53356eb60bdb5f8" \
'https://freshrss.example.net/api/greader.php/reader/api/0/unread-count?output=json' | jq .

curl -s -H "Authorization:GoogleLogin auth=alice/8e6845e089457af25303abc6f53356eb60bdb5f8" \
'https://freshrss.example.net/api/greader.php/reader/api/0/tag/list?output=json' | jq .

# Retrieve a token for requests making modifications
curl -H "Authorization:GoogleLogin auth=alice/8e6845e089457af25303abc6f53356eb60bdb5f8" \
'https://freshrss.example.net/api/greader.php/reader/api/0/token'
8e6845e089457af25303abc6f53356eb60bdb5f8ZZZZZZZZZZZZZZZZZ

Thanks, that was helpful. To keep the information in the same location, here is the query to get the articles:

curl -s -H "Authorization:GoogleLogin auth=alice/8e6845e089457af25303abc6f53356eb60bdb5f8" \
'https://freshrss.example.net/api/greader.php/reader/api/0/stream/contents/reading-list'

FYI, I don't want to implement anything. I just need to test the new mute strategy feature :)

Ok :-)

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Stegemueller picture Stegemueller  路  3Comments

treyssatvincent picture treyssatvincent  路  5Comments

Sp3r4z picture Sp3r4z  路  4Comments

reinvented picture reinvented  路  4Comments

javerous picture javerous  路  5Comments