-
-
Notifications
You must be signed in to change notification settings - Fork 859
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Aide pour API Google Reader #704
Comments
Copy of #443 (comment) Hello @cmtm78, I suggest you start by generating a log with a client that works (e.g. EasyRSS, News+), with full debug information:
I can help if you provide log samples. |
@cmtm78 écrit : merci pour ton retour rapide. ci joint :
A noter que je tape les 2 commandes ci dessus directement dans mon browser pour essayer de comprendre comment ca fonctionne. Est ce que je n’oublie pas un argument ? merci pour ton aide Thierry |
@cmtm78 : Je fais une tâche dédiée pour parler de cela. Les pièces jointes n'ont pas été reçues. Merci de les attacher depuis l'interface Web.
Pour l'essayer à la main depuis un navigateur, il faut passer par un outil de développement qui permet de modifier les entêtes HTTP. Par exemple https://addons.mozilla.org/fr/firefox/addon/httprequester/ Si vous êtes familier de la ligne commande, les entêtes peuvent être ajoutés à une commande cURL par l'option curl -H "Authorization:GoogleLogin auth=<auth value>" http://www.acacis.com/p/api/greader.php/reader/api/0/token En quel langage développez vous ? |
Je developpe le client avec AngulaJS et IONIC. CI dessous le log avec EasyRSS : Array
) clientLogin(cmtm)Le log avec la commande login en direct : Array
) |
Voilà, comme dit précédemment, il vous manque l'entête HTTP |
ok. merci. IONIC est pratique pour générer des apps compatibles sur divers OS . From: Alexandre Alapetite Voilà, comme dit précédemment, il vous manque l'entête HTTP Authorization à ajouter dans votre requête. Une recherche très rapide semble montrer que dans IONIC (que je ne connais pas), l'objet $http accepte un paramètre headers. — |
Bonjour Alexandre, j'arrive maintenant à m'authentifier et à récupérer les flux. mon soucis est maintenant de récupérer le texte d'un coté et l'image de l'autre depuis le summary fourni via la requete feed. As tu utilisé une fonction particulière ? merci pour ton aide Thierry |
Très bien pour l'authentification. |
Bonjour Alexandre, j'ai encore un petit point qui me dérange. Je n'arrive pas à comprendre comment faire une comparaison entre la date Merci pour ton aide Thierry
Ce courrier électronique ne contient aucun virus ou logiciel malveillant parce que la protection avast! Antivirus est active. |
Je ne sais pas de quel champ plus précis vous parlez, mais une bonne partie |
Bonjour, je souhaiterai moi aussi developper un petit truc (un simple notifier) via l'API mais je n'arrive pas a me connecter via l'api (donc pas de SID ni de token ce qui est plutot genant) J'avou ne pas trop comprendre d'ou viens le pb. Edit : |
@Purexo N'hésitez pas à redemander s'il y a un autre problème |
C'est bon merci ^^
Mon add-on est en open-source totalitaire (GPL3) gniark gniark gniark ! |
@Purexo Ok :-) L'API que vous avez utilisée est plus puissante, mais pour simplement récupérer le nombre d'articles non-lus, il est aussi possible de faire une requête à https://purexo.eu/FreshRSS/p/i/?c=javascript&a=nbUnreadsPerFeed qui retourne un JSON |
?c=javascript&a=nbUnreadsPerFeed ça s'invente pas xD et ça passe pas par un compte utilisateur du coup ? Edit : |
Je n'ai que rapidement jeté un œil au code, mais |
Je m'y connais pas trop en prog evenementielle. Du coup je vois pas trop quoi faire de plus :( |
Vous pouvez par exemple appeler |
Faire les appel des fonctions en cascades donc. ça à l'air de fonctionner mieux comme ça évidement ^^. Merci bien pour ces suggestions. EDIT : |
Sinon j'ai une vrai question, |
Non, il n'y a pas d'actualisation dans l'API (ça pourrait être ajouté comme extension spécifique à FreshRSS). L'actualisation est plutôt sensée être faite par une tâche cron en arrière plan. Sinon, il y a aussi des requêtes possibles (du même style que mon lien plus haut) pour rafraîchir les flux individuellement mais qui nécessitent une authentification préalable. |
Pour expliquer ma demarche :
actualisation flux par flux, semble un peu ennuyante, mais si il faut passer par la. il y a de la doc pour l'api "native", et l'authentification passe par des cookies, le header ? |
Bonjour Alexandre Je cherche maintenant à modifier la version que je me suis installée de FreshRSS pour ne garder en base que des entries qui contiennent une img. Je voudrai intervenir à la source mais je ne vois pas dans quelle partie du code se fait l'actualisation de la base entry (je prévois simplement de ne pas enregistrer les entrées dans lesquelles je ne trouve pas de photo au parsing du champs content). Peux tu m'indiquer ou je dois intervenir ? Merci pour ton aide T |
Les nouveaux articles sont préparés avant ajout en base de données via la fonction Une autre option est d'ajouter tous les articles en base de données, mais de les filtrer en sortie. Dans les deux cas, je vous suggère de regarder les discussions actuelles sur le mécanisme d'extension (plug-ins) en cours de développement, qui me semblerait bien adapté à votre besoin. |
Je ferme ce ticket qui ne semble plus actif (j'espère que vous avez eu les informations nécessaires), mais n'hésitez pas à le rouvrir au besoin ou d'en créer un nouveau. |
Bonjour je reviens vers vous (après un long moment) Pour les versions future de mon Addon, j'aurais besoins de récuperer le nombre d'article non lu, ça c'est OK :
Et surtout, une liste des (5) derniers flux non lu avec Aussi, est il possible pour l'authentification d'utiliser le cookie de FreshRSS, plutot que d'utiliser une requete en GET, avec le login et le mot de passe en clair à l'interieur pour récuperer un token d'authetification. Sinon j'ai vraiment mal cherché, ou la doc du greader est imbitable ? J'ai trouvé une doc lisible mais je bute sur item-contents, ça fait toujours des badrequest. Pour mes test j'utilise l'addon firefox "http requester" qui est pratique pour former des requetes Donc :
ItemContent, ça marche pour aucun des cas. :( |
@Purexo Voir les commentaires en tête de https://github.com/FreshRSS/FreshRSS/blob/beta/p/api/greader.php pour une liste des documentations que j'ai pu trouver. Regardez aussi les commentaires dans le reste du fichier. Pour vos 5 articles les plus récents non-lus, essayez quelque-chose comme :
Pour l'instant, il y a un mot de passe API différent du mot de passe principal à cause du fait que ce mot de passe risque d'être stocké par les applications, et qu'il est transmis en dépendant entièrement de HTTPS (aucune protection dans le cas de HTTP). P.S. : D'une manière générale, c'est une bonne idée de regarder dans les logs de votre serveur Web les requêtes faites par un client de référence, comme News+ ou EasyRSS. |
Merci, j'avais vraiment galéré longtemps avant d'abandonner et espérer une réponse.
Je met en POST pour plus de lisibilité (et ça fonctionne) mais GET fonctionne aussi. Concernant la partie de l'authetification, justement, peut-on utiliser le cookie de FreshRSS (quand on ce co normalement à son site pour lire les flux) dans un addon, et si oui, comment ça ce passe au niveau des requetes. Cela afin d'éviter un password en clair qui ce balade partout. |
J'arrive pas à sélectionner juste les flux lu, et suite à la lecture du code de greader.php ça ne m’étonne pas, mais c'est vraiment dommage :( greader.php - ligne 360 - function streamContents switch ($exclude_target) {
case 'user/-/state/com.google/read':
$state = FreshRSS_Entry::STATE_NOT_READ;
break;
default:
$state = FreshRSS_Entry::STATE_ALL;
break;
} il serait intéressant d'ajouter : case 'user/-/state/com.google/unread':
$state = FreshRSS_Entry::STATE_READ;
break; Et pourquoi pas d'autres états encore je viens de faire une PR, suite à un test rapide sur mon serveur, je peux maintenant faire :
et je récupère ainsi les 5 derniers flux lu |
Maintenant que mon Addon Firefox est fonctionnel, je me disais que ça pourrai intéresser des gens. Ou dois-je signaler ça ? |
@Purexo Votre extension semble avoir été acceptée, non ? |
Oui. Et les trucs qui me restent à faire attendront plus tard (passer au système 'universel' chrome, revoir le système d'authentification : cad utiliser le système de cookie pour ce logger à l'api si possible, pour ne pas avoir à demander de password) Les prochaines versions ce sera essentiellement du bugfixes (si j'en trouve). |
@cmtm78 writes: Hello, I am trying to build my own reader client on FreshRss (tinder like interface).
EasyRSS connects well to my FreshRSS server.
On my app, I can not pass the "token" phase of the API.
"http://www.acacis.com/p/api/greader.php/reader/api/0/token" where acacis.com is where my freshrss is located
In the log I have HTTP_AUTHORIZATION set but empty.
RewriteEngine on RewriteRule .\* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]my ".htaccess" is
Server is a shared server at One.com.
What is wrong ? As easyRSS works fine, I suppose it is not my server. I must miss something.
Thanks for your help
The text was updated successfully, but these errors were encountered: