LeoTechmaker / FollowersCounter

MIT License
30 stars 14 forks source link

erreur api facebook #8

Open blackdeath1510 opened 6 years ago

blackdeath1510 commented 6 years ago

bon apres pas mal de jour de galère j'ai enfin réussi à mettre tout en place par contre j'ai tout le temps cette erreur Facebook API call. JSON respnse was not as expected Facebook : -1

blackdeath1510 commented 6 years ago

@dcjona fil ton messenger facebook on check ensemble pour la creation de l api facebook si tu veux

dcjona commented 6 years ago

cool : del cont jonathan

blackdeath1510 commented 6 years ago

il y a 2 compte ! j'ai déjà parlé avec un

dcjona commented 6 years ago

a pourtant je n'en ai qu'un seul et c'est bien celui la

dcjona commented 6 years ago

Petit feedback. Tout est ok chez moi. Grâce a l'aide ( enfin il a tout fait pour Facebook) de blackdeath1510 tour fonctionne. J'ai branché le compteur dans l'armoire électrique oubse situé le routeur et plus de raté ! Ouf merci pour l'aide en tout cas

Fardenco commented 6 years ago

@dcjona Super, quel était le problème ?

dcjona commented 6 years ago

@Fardenco problème avec l'api, j'avais mal configuré le token je pense.. Ce compteur est vraiment génial! quand je vois la solution commercialisée Smiirl qui coute cher pour le 4 de fonction! je me demande pourquoi tu ne le commercialise pas?

gbgb4 commented 6 years ago

bonjour, l apifacebook modifié fonctionne, mais instagram se met en erreur, le même problème qu avec facebook avant modif.

dcjona commented 6 years ago

Il ne récupère même pas l'ancien nombre ? Car chez moi c'est le cas

gbgb4 commented 6 years ago

Rien du tout, erreur sur l affichage. Il ne serait pas plus simple de prendre une partie du code instastats qui demande juste le nom du compte ? Dans la console: Facebook - Enabled : 1 - Duration : 2 Instagram - Enabled : 1 - Duration : 2

WiFi connected IP address: 192.168.1.95

Facebook API call. JSON respnse was not as expected Facebook : -1

Instagram API call.

Exception (29): epc1=0x4000e1b2 epc2=0x00000000 epc3=0x00000000 excvaddr=0x00000100 depc=0x00000000

ctx: cont sp: 3fff2600 end: 3fff2c50 offset: 01a0

stack>>> 3fff27a0: 0002f167 000000 3fff1c30 40100718
<<<stack<<<

ets Jan 8 2013,rst cause:2, boot mode:(1,6)

ets Jan 8 2013,rst cause:4, boot mode:(1,6)

wdt reset

dcjona commented 6 years ago

Tu as le même soucis que moi avec le reset. Moi c'était le wifi pas assez bon....

dcjona commented 6 years ago

img_20180908_200002_687 Voici l'avancement du mien..

Fardenco commented 6 years ago

@gbgb4 Ton message indique que le contrôleur a crashé. Sûrement un problème de mauvaise version de librairie (en particulier, le core ESP8266)

@dcjona Merci, super résultat ;)

dcjona commented 6 years ago

@Fardenco : J'ai finalisé le projet et mis cette photo sur facebook sur ma prage pro, ton boulot fait fureur, deux commerçants locaux me demandent si il est possible de leur en fabriquer! Je voudrais donc t'en parler puisque le code vient de toi et que je respecte cela. on peut te payer une licence ou faire des dons ?

Fardenco commented 6 years ago

@dcjona Je t'ajoute sur Facebook, on parlera là bas

kurtspirit commented 5 years ago

Salut, merci pour les explications de l'erreur.. Je vais pouvoir m'y atteler. J'ai déjà rien compris à la création de l'API Facebook, c'est trop bordélique leur site :p. Bref, ma question est tout autre, une fois que j'aurais trouvé une solution à ce soucis FB, est-il possible d'épurer le code et ne garder que Facebook en fait ou pas ? Du moins facilement ? En gros ma société est bien sur Facebook mais pas de YT, Twitter ou Instagram, du coup je ne peux renseigner les infos et ça me servira surtout à rien finalement. Merci encore pour tout le taff ! Jonathan

dcjona commented 5 years ago

C'est tout simple ca, une fois que tout sera ok tu as juste a te connecter sur l'ip de ton wemos en ajoutant /index au bout , tu vas arrive sur une interface et puis tu décoches ce que tu ne veux pas , et tu sais régler aussi le temps d'affichage et l'intensité ;)

kurtspirit commented 5 years ago

Ok parfait. Désolé mais je profite de ton savoir pour apprendre au passage si ça ne te dérange pas ? Il faut donc modifier le code pour virer l'erreur Facebook on est d'accord ? Ce qui implique de recompiler l'ensemble mais on fait comment pour faire ça sachant que je n'ai jamais fais ce genre de chose ? Existe t'il un tuto par là ? Pour Facebook, on est d'accord que tout se passe sur la page Facebook Developer ? Je trouve pas le truc pour avoir les API etc... C'est vraiment pénible pour un novice. Merci encore à toi, c'est vraiment sympa de m'aider autant ;)

dcjona commented 5 years ago

je n'ai pas de savoir spécifique juste profiter aussi de l'aide qu'on m'a apporté. il faut modifié le fichier arduino facebook il me semble mais fardenco donne la marche a suivre plus haut ou sur une autre fil de discussion dans les issues.. pour facebook c'est bien par facebook developper essaye de regarder sur google facebook et api il y a des tutos

kurtspirit commented 5 years ago

Salut, oui il donne la ligne à modifier mais je ne comprends pas où ça se passe en fait. Il est marqué de modifier le fichier facebook mais perso, je n'ai qu'un fichier ino et le cfg alors bon c'est un mystère ! Je vais chercher. Par contre le API Facebook, je bloque totalement :/ Merci à toi , belle journée.

kurtspirit commented 5 years ago

Excusez moi mais personne ne pourrait me venir en aide pour la création de l'API sur Facebook svp ? Vraiment là je sèche complet, je préfère même rémunérer quelqu'un avant de devenir dingue :/ Merci à vous.

dcjona commented 5 years ago

si tu veux file ton facebook je te donnerai quelques infos

kurtspirit commented 5 years ago

Kurt Spirit pour mon FB , la photo de profil est une photo de mon fils et moi avec une statue à coté. Je vois qu'il y a plusieurs pseudos comme moi, pour ça que je précise :p Merci beaucoup

Fardenco commented 5 years ago

@kurtspirit Le fichier à modifier est dans une des librairies qu'il faut télécharger Si c'était dans le code que j'ai écris, je l'aurais modifié moi même ;) Pour recompiler il suffit d'avoir le logiciel Arduino.

dcjona commented 5 years ago

Petit retour d'expérience, pour le reste ok mais facebook c'est pas stable, après un certains temps ca se met en erreur et j'ai tenté de changer de page avec la meme procédure pour suivre une autre page et il reste en erreur malgré l'obtention de plusieurs token différents et des autres infos qui sont correctes.. je ne sais pas si dans l'api il y a quelque chose de spécifique à configurer?

gbgb4 commented 5 years ago

Tu as obtenu le token étendu ? J ai eu le même problème, à Maxapicall j ai mis 150 partout, dans l api Facebook j avais 650% de call , par contre insta ne fonctionne toujours pas chez moi

kurtspirit commented 5 years ago

Salut, tout est ok maintenant pour moi du moins en configuration et merci encore @dcjona . Mon dernier soucis mais là je pense que ça vient de la daube que j'ai acheté sur Aliexpress, c'est qu'une fois programmée, je n'ai rien. C'est à dire que la carte n'émets pas de wifi ni rien. Sur le moniteur série, après compilation, j'ai uniquement des caractères types : "⸮⸮⸮)Q⸮HHH⸮}!⸮F⸮⸮⸮⸮⸮1⸮⸮⸮⸮⸮⸮⸮⸮̰⸮⸮) 1 Ň)4⸮⸮⸮!⸮!>N⸮⸮Ȑ⸮(⸮⸮⸮)99N⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮Ȏ⸮⸮⸮؀4⸮⸮(@⸮⸮⸮⸮⸮" qui défilent... Je ne comprends pas trop d'où ça vient. Je sais que c'est une copie mais ça devrait fonctionner et vu qu'il arrive à le programmer, c'est que ça doit le faire :/ Il y a un truc derrière qui colle pas en tout cas hélas. Si vous avez une idée je suis preneur. Merci encore, Jonathan.

Fardenco commented 5 years ago

@kurtspirit Vérifie que tu es bien sur le bon baud rate pour la liaison série. Pour le WiFi, le module ne crée pas de réseau, mais se connecte au tien (si tu l'as bien paramétré)

kurtspirit commented 5 years ago

@Fardenco Yes j'ai bien les appels en clair maintenant merci ;) . Mais il faut bien une IP pour paramétrer le "logiciel" non ? J'ai cru comprendre qu'il y avait une interface Web avec les configs de luminosité, les choses affichées ou pas etc.

Fardenco commented 5 years ago

@kurtspirit l'IP est envoyée sur la liaison série au démarrage du programme Ensuite c'est IP/index depuis un navigateur Par exemple 192.168.0.1/index

kurtspirit commented 5 years ago

Salut, ok tout est en place plus ou moins, il y a seulement un gros soucis (apparemment je suis pas seul à avoir ça) avec Facebook. De temps en temps , le compteur est ok puis d'un coup il affiche uniquement ERREUR. C'est bizarre. Merci à vous tous.

Fardenco commented 5 years ago

@kurtspirit C'est sûrement un problème de quota d'appels à l'API, tu n'as pas dû faire la bonne demande pour le token. Essaie de faire un appel manuel à l'API depuis un navigateur, tu auras sûrement un message d'erreur t'indiquant que tu as dépassé ton quota d'appels.

lbar commented 5 years ago

Hello, Quand j'appelle l'API Facebook, j'obtiens cette erreur : { "error": { "message": "(#10) To use 'Page Public Content Access', your use of this endpoint must be reviewed and approved by Facebook. To submit this 'Page Public Content Access' feature for review please read our documentation on reviewable features: https://developers.facebook.com/docs/apps/review.", "type": "OAuthException", "code": 10, "fbtrace_id": "BTSzjbp7l2K" } } Est-ce qu'il y a quelque chose à configurer dans la console dev pour éviter ça ? Merci d'avance.

Fardenco commented 5 years ago

@lbar J'avoue que je n'ai pas retouché à la console développeur de Facebook depuis la création du compteur il y a un an et demi, donc je ne sais pas trop. Peut être que quelqu'un qui l'a fait il y a peu de temps pourrait t'aider ? @dcjona ?

dcjona commented 5 years ago

@lbar cette erreur ne me dit rien.. qu'as tu fais en créant l'api ?

sam54700 commented 5 years ago

Bonjour

Une âme charitable pour m’expliquer Comment récupérer les api Facebook

Par avance merci

virgile83 commented 5 years ago

bonjour il y a-t-il quelqu'un qui pourrait m'expliquer comment configurer la pays Facebook et récupérer les clés API afin de configurer au mieux mon compteur car pour l'instant je n'arrive pas à le faire fonctionner merci d'avance

guiguijke commented 5 years ago

Il faut que tu aies demandé les droits "manage page" J'ai personnellement le même problème car il faut être approuvé par facebook pour avoir accès à son API, ce qui est ultra relou ! J'ai fait la demande , et ça fait 2 fois que je suis refusé. J'ai pour l'instant contacté leur support pour avoir plus d'infos... A suivre [EDIT] J'ai trouvé le moyen de récupérer un token facebook permanent, je teste ça sur mon compteur et je vous tiens au jus si ça vous intéresse !

Furymaxime commented 5 years ago

Bonjour j'ai paramétré le fichier config avec mes API etc mais lorsque je veux téléverser j'ai cette erreur: ATTENTION : La catégorie 'Cloud' dans la bibliothèque Ospom n'est pas valide. Définition sur : 'Uncategorized' Wireless_Follower_Counter:36:86: error: no matching function for call to 'FacebookApi::FacebookApi(axTLS::WiFiClientSecure&, const char [44], const char [16], const char [33])'

FacebookApi facebookApi(client, facebookAccessToken, facebookAppId, facebookAppSecret);

                                                                                  ^

C:\Users\Maxime\Documents\Arduino\Compteur RS Arduino 2\Sources\Wireless_Follower_Counter\Wireless_Follower_Counter.ino:36:86: note: candidates are:

In file included from C:\Users\Maxime\Documents\Arduino\Compteur RS Arduino 2\Sources\Wireless_Follower_Counter\Wireless_Follower_Counter.ino:11:0:

C:\Users\Maxime\Documents\Arduino\libraries\FacebookApi\src/FacebookApi.h:36:5: note: FacebookApi::FacebookApi(Client&, String)

 FacebookApi (Client &client, String accessToken);

 ^

C:\Users\Maxime\Documents\Arduino\libraries\FacebookApi\src/FacebookApi.h:36:5: note: candidate expects 2 arguments, 4 provided

C:\Users\Maxime\Documents\Arduino\libraries\FacebookApi\src/FacebookApi.h:33:7: note: FacebookApi::FacebookApi(const FacebookApi&)

class FacebookApi

   ^

C:\Users\Maxime\Documents\Arduino\libraries\FacebookApi\src/FacebookApi.h:33:7: note: candidate expects 1 argument, 4 provided

C:\Users\Maxime\Documents\Arduino\libraries\FacebookApi\src/FacebookApi.h:33:7: note: FacebookApi::FacebookApi(FacebookApi&&)

C:\Users\Maxime\Documents\Arduino\libraries\FacebookApi\src/FacebookApi.h:33:7: note: candidate expects 1 argument, 4 provided

Wireless_Follower_Counter:21:16: error: 'D8' was not declared in this scope

define ledPin D8

            ^

C:\Users\Maxime\Documents\Arduino\Compteur RS Arduino 2\Sources\Wireless_Follower_Counter\Wireless_Follower_Counter.ino:40:56: note: in expansion of macro 'ledPin'

Adafruit_NeoPixel bande = Adafruit_NeoPixel(ledAmount, ledPin, NEO_GRB + NEO_KHZ800);

                                                    ^

C:\Users\Maxime\Documents\Arduino\Compteur RS Arduino 2\Sources\Wireless_Follower_Counter\Wireless_Follower_Counter.ino: In function 'int getTwitterFollowerCount(String)':

Wireless_Follower_Counter:425:3: error: 'DynamicJsonBuffer' was not declared in this scope

DynamicJsonBuffer jsonBuffer;

^

Wireless_Follower_Counter:425:21: error: expected ';' before 'jsonBuffer'

DynamicJsonBuffer jsonBuffer;

                 ^

Wireless_Follower_Counter:426:22: error: 'jsonBuffer' was not declared in this scope

JsonObject& root = jsonBuffer.parseObject(answer);

                  ^

Wireless_Follower_Counter:428:12: error: 'ArduinoJson::JsonObject' has no member named 'success'

if (root.success()) {

        ^

C:\Users\Maxime\Documents\Arduino\Compteur RS Arduino 2\Sources\Wireless_Follower_Counter\Wireless_Follower_Counter.ino: In function 'int getFacebookFanCount(String)':

Wireless_Follower_Counter:464:22: error: 'class FacebookApi' has no member named 'getPageFanCount'

return facebookApi.getPageFanCount(pageId);

                  ^

C:\Users\Maxime\Documents\Arduino\Compteur RS Arduino 2\Sources\Wireless_Follower_Counter\Wireless_Follower_Counter.ino: In function 'void setup()':

Wireless_Follower_Counter:25:26: error: 'D7' was not declared in this scope

define settingsResetPin D7

                      ^

C:\Users\Maxime\Documents\Arduino\Compteur RS Arduino 2\Sources\Wireless_Follower_Counter\Wireless_Follower_Counter.ino:675:11: note: in expansion of macro 'settingsResetPin'

pinMode(settingsResetPin, INPUT_PULLUP);

       ^

Wireless_Follower_Counter:26:29: error: 'D6' was not declared in this scope

define settingsResetGndPin D6

                         ^

C:\Users\Maxime\Documents\Arduino\Compteur RS Arduino 2\Sources\Wireless_Follower_Counter\Wireless_Follower_Counter.ino:676:11: note: in expansion of macro 'settingsResetGndPin'

pinMode(settingsResetGndPin, OUTPUT);

       ^

exit status 1 no matching function for call to 'FacebookApi::FacebookApi(axTLS::WiFiClientSecure&, const char [44], const char [16], const char [33])'

merci par avance de votre aide

Fardenco commented 5 years ago

L'API Facebook est de plus en plus pénible et demande toujours plus d'autorisations, y compris pour récupérer quelque chose d'aussi basique que le nombre de likes sur sa propre page. De ce que j'ai compris, cette valeur fait partie d'un ensemble qui nécessite une demande manuelle approbation envers Facebook, pour laquelle on doit entre autre justifier qu'on est une entreprise. Bref, on n'a pas que ça à faire. Donc si quelqu'un a envie de se lancer dans un petit peu de programmation, j'ai une solution à proposer : dans le même esprit que ce que j'ai fait pour Twitter, on pourrait utiliser une page publique où la valeur qui nous intéresse est présente. Dans le cas de Twitter c'était un peu plus simple car on pouvait directement récupérer un json. Là c'est un peu plus pénible car il faudra fouiller un peu dans le html, mais ça ne devrait pas être compliqué non plus.

https://www.facebook.com/plugins/fan.php?id=leotechmaker

Si vous regardez le code source de cette page, vous verrez qu'on y trouve la valeur recherchée. Il faudrait juste l'extraire, et voilà, plus qu'à changer l'id présent dans l'url par celui de la page recherchée et c'est fini