Extraire les nom des amis facebook qui ont fait des aimes
Résolu/Fermé
intissaroa
Messages postés
24
Date d'inscription
jeudi 9 mars 2017
Statut
Membre
Dernière intervention
19 juillet 2017
-
4 juin 2017 à 00:44
intissaroa Messages postés 24 Date d'inscription jeudi 9 mars 2017 Statut Membre Dernière intervention 19 juillet 2017 - 19 juil. 2017 à 13:30
intissaroa Messages postés 24 Date d'inscription jeudi 9 mars 2017 Statut Membre Dernière intervention 19 juillet 2017 - 19 juil. 2017 à 13:30
A voir également:
- Extraire les nom des amis facebook qui ont fait des aimes
- Qui regarde mon profil facebook - Guide
- Extraire une video youtube - Guide
- Story facebook - Guide
- Extraire son video - Guide
- Voir les appareils connectés facebook - Guide
4 réponses
forum92
Messages postés
220
Date d'inscription
lundi 6 juillet 2015
Statut
Membre
Dernière intervention
14 août 2018
133
10 juin 2017 à 02:35
10 juin 2017 à 02:35
Bonjour,
Donc un tableau qui contient name :
tableau[name]
Donc un tableau qui contient name :
tableau[name]
Utilisateur anonyme
10 juin 2017 à 23:51
10 juin 2017 à 23:51
Avec du Regex tu peux :
name=(.+?) type
Test ici :
https://regex101.com/
name=(.+?) type
Test ici :
https://regex101.com/
KX
Messages postés
16752
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 août 2024
3 019
11 juin 2017 à 00:06
11 juin 2017 à 00:06
Bonjour,
Au lieu de faire
Exemple :
Au lieu de faire
System.out.println(" L(userx) " + aPost.getLikes());et essayer d'extraire le texte qui en découle, utilise directement l'objet aPost.getLikes() pour récupérer uniquement les données que tu veux.
Exemple :
aPost.getLikes().getData().forEach(data -> System.out.println(data.getName()) );
intissaroa
Messages postés
24
Date d'inscription
jeudi 9 mars 2017
Statut
Membre
Dernière intervention
19 juillet 2017
15 juin 2017 à 02:02
15 juin 2017 à 02:02
bonjour j'ai essayé le code suivant:
mais il me retourne l'esrreure suivante.
Exception in thread "main" java.lang.NullPointerException
at main.main(main.java:54)
C:\Users\Asus\AppData\Local\NetBeans\Cache\8.2\executor-snippets\run.xml:53: Java returned: 1
BUILD FAILED (total time: 3 seconou est le probléme.
merci d'avance.
aPost.getLikes().getData().forEach(data ->out.write(data.getName()+"\r\n"));
mais il me retourne l'esrreure suivante.
Exception in thread "main" java.lang.NullPointerException
at main.main(main.java:54)
C:\Users\Asus\AppData\Local\NetBeans\Cache\8.2\executor-snippets\run.xml:53: Java returned: 1
BUILD FAILED (total time: 3 seconou est le probléme.
merci d'avance.
KX
Messages postés
16752
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 août 2024
3 019
15 juin 2017 à 08:16
15 juin 2017 à 08:16
Si
datapeut valoir null il faut le vérifier avant d'appeler
getName()sur un objet qui n'existe pas (ce qui provoque un NullPointerException).
aPost.getLikes().getData().stream() .filter(data -> data != null) .map(data -> data.getName()) .forEach(name -> out.write(name + "\r\n"));
intissaroa
Messages postés
24
Date d'inscription
jeudi 9 mars 2017
Statut
Membre
Dernière intervention
19 juillet 2017
>
KX
Messages postés
16752
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 août 2024
15 juin 2017 à 10:11
15 juin 2017 à 10:11
merci Kx
j'ai essayé ce code mais il me retourne le même problème.
j'ai essayé ce code mais il me retourne le même problème.
Exception in thread "main" java.lang.NullPointerException
at main.main(main.java:54)
C:\Users\Asus\AppData\Local\NetBeans\Cache\8.2\executor-snippets\run.xml:53: Java returned: 1
BUILD FAILED (total time: 3 seconds)
KX
Messages postés
16752
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 août 2024
3 019
>
intissaroa
Messages postés
24
Date d'inscription
jeudi 9 mars 2017
Statut
Membre
Dernière intervention
19 juillet 2017
Modifié le 15 juin 2017 à 10:31
Modifié le 15 juin 2017 à 10:31
Essayes ça et regarde lequel vaut null... et pourquoi.
System.out.println("aPost: " + aPost); System.out.println("getLikes: " + aPost.getLikes()); System.out.println("getData: " + aPost.getLikes().getData());
intissaroa
Messages postés
24
Date d'inscription
jeudi 9 mars 2017
Statut
Membre
Dernière intervention
19 juillet 2017
>
KX
Messages postés
16752
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 août 2024
Modifié le 15 juin 2017 à 10:47
Modifié le 15 juin 2017 à 10:47
System.out.println("getLikes: " + aPost.getLikes());
l' instruction renvoient nulle. car il y a des poste sur Facebook qui peuvent avoir 0 like.
System.out.println("getData: " + aPost.getLikes().getData());
cet instruction renvoi
Exception in thread "main" java.lang.NullPointerException
s'il n y a pas de like sur la poste de Facebook
intissaroa
Messages postés
24
Date d'inscription
jeudi 9 mars 2017
Statut
Membre
Dernière intervention
19 juillet 2017
10 juil. 2017 à 12:37
10 juil. 2017 à 12:37
@KX
bonjour, j'ai fait le code suivant:
l'output est comme suit:
mon probléme c'est comment calculer la somme de poid pour chaque ami:
exemple: pour l'ami Toka Ep Bouzidi , le poid = 1.0+0.9= 1.9.
merci bien de m'aider.
bonjour, j'ai fait le code suivant:
import com.restfb.Connection;
import com.restfb.DefaultFacebookClient;
import com.restfb.FacebookClient;
import com.restfb.types.Post;
import java.io.*;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Optional;
public class main {
public static void main(String[] args) throws IOException {
String accessToken ="EAACEdEose0cBANEXpFEXQZALRTI8k84B2po0w";
FacebookClient fbclient = new DefaultFacebookClient(accessToken);
Connection<Post> result = fbclient.fetchConnection("me/feed",Post.class );
int counter = 0;
for(List<Post> page : result)
{
for(Post aPost : page)
{
Calendar c = Calendar.getInstance();
Calendar a = Calendar.getInstance();
a.add(Calendar.YEAR, -10);
Date Fin = a.getTime();
Date db = c.getTime();
Date time = aPost.getCreatedTime();
double CONST_DURATION_OF_DAY = 1000l * 60 * 60 * 24;
double diff = Math.abs(db.getTime() - time.getTime());
double numberOfDay = Math.round((diff/CONST_DURATION_OF_DAY) *
100) / 100;
double numberofyear = (double) Math.round((numberOfDay/356) * 100)
/ 100;
double dbwint = (100-(numberofyear*10))/100 ;
double Wint = (double) Math.round( dbwint * 100) / 100;
if(!time.before(Fin))
{
System.out.println("created time "+time+"\r\n");
System.out.println("Id Poste: fb.com/"+aPost.getId()+"\r\n");
System.out.println("le poid de l'interaction Wint "+Wint+"\r\n");
Optional.ofNullable(aPost .flatMap(post -> Optional.ofNullable(post.getLikes()))
.flatMap(likes -> Optional.ofNullable(likes.getData()))
.ifPresent(likes -> likes.stream()
.map(likeItem -> Optional.ofNullable(likeItem.getName()))
.forEach(optName -> optName.ifPresent(name ->
System.out.println(name + "\r\n"))));
System.out.println("==================================="+"\r\n");
counter++;
}
else {System.out.println("date hors période"+"\r\n");}
}
System.out.println("number of results"+counter);
}
}
}
}
l'output est comme suit:
created time Thu Jun 15 03:52:53 CEST 2017
Id Poste: fb.com/1562752627337463_1951227231823332
le poid de l'interaction Wint 1.0
Fifi Daly Omm Omar
Toka Ep Bouzidi
===================================
created time Wed Jun 14 21:14:14 CEST 2017
Id Poste: fb.com/1562752627337463_1951069731839082
le poid de l'interaction Wint 0.9
Sami Dali
Toka Ep Bouzidi
Àmine OuLéd Ahméd
Faiza Ouled Ahmed
Rania Trigui
Hàifà Gassoumi
Awatef Cherif
Dali Montassar
Souad Brahmi
Nabiha Ben Aissa
Deli Maha
===================================
created time Wed Jun 14 19:39:27 CEST 2017
Id Poste: fb.com/149760905397346_444326185940815
le poid de l'interaction Wint 0.9
===================================
created time Wed Jun 14 01:26:57 CEST 2017
Id Poste: fb.com/1562752627337463_1950398421906213
le poid de l'interaction Wint 0.7
Nesrine Jalleli
Esmeralda Sagittaire
Aymen J'rb
===================================
mon probléme c'est comment calculer la somme de poid pour chaque ami:
exemple: pour l'ami Toka Ep Bouzidi , le poid = 1.0+0.9= 1.9.
merci bien de m'aider.