Extraire les nom des amis facebook qui ont fait des aimes
Résolu
intissaroa
Messages postés
24
Date d'inscription
Statut
Membre
Dernière intervention
-
intissaroa Messages postés 24 Date d'inscription Statut Membre Dernière intervention -
intissaroa Messages postés 24 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai essayé de retrouver les noms des amis qui ont fait des aimes sur les postes de facebook. voici le code:
le resultat de ce code est comme suit:
Likes[data=[NamedFacebookType[id=758248010897019 metadata=null name=Toka Ep Bouzidi type=null], NamedFacebookType[id=836615436419028 metadata=null name=Basma Youssfi type=null], NamedFacebookType[id=200283693703077 metadata=null name=Sahar Hmidet type=null], NamedFacebookType[id=1589600437936215 metadata=null name=Fifi Daly Omm Omar type=null], NamedFacebookType[id=2285678608326303 metadata=null name=Rà Nou type=null], NamedFacebookType[id=149760905397346 metadata=null name=Awatef Cherif type=null], NamedFacebookType[id=197868283998495 metadata=null name=Samar Maamouri type=null], NamedFacebookType[id=191663454652822 metadata=null name=Ben Ali Fatma Benali type=null], NamedFacebookType[id=1594576777456573 metadata=null name=Rania Trigui type=null], NamedFacebookType[id=10204633957434960 metadata=null name=Gasmi Ghassen type=null]] totalCount=0]
===================================
je veux extraire seulement les nom de mes amis..
merci.
j'ai essayé de retrouver les noms des amis qui ont fait des aimes sur les postes de facebook. voici le code:
public class main {
public static void main(String[] args) throws IOException {
String accessToken = "EAACEdEoseZBhf0e4WXHuNaItvLeoAZD";
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) {
Date time = aPost.getCreatedTime();
Calendar c = Calendar.getInstance();
c.add(Calendar.YEAR, -10);
Date db = c.getTime();
{
if (!time.before(db)) {
System.out.println("created time " + time + "\r\n");
System.out.println("Id Poste: fb.com/" + aPost.getId() + "\r\n");
System.out.println(" L(userx) " + aPost.getLikes());
counter++;
} else {
System.out.println("date hors période" + "\r\n");
}
}
}
}
}
le resultat de ce code est comme suit:
Likes[data=[NamedFacebookType[id=758248010897019 metadata=null name=Toka Ep Bouzidi type=null], NamedFacebookType[id=836615436419028 metadata=null name=Basma Youssfi type=null], NamedFacebookType[id=200283693703077 metadata=null name=Sahar Hmidet type=null], NamedFacebookType[id=1589600437936215 metadata=null name=Fifi Daly Omm Omar type=null], NamedFacebookType[id=2285678608326303 metadata=null name=Rà Nou type=null], NamedFacebookType[id=149760905397346 metadata=null name=Awatef Cherif type=null], NamedFacebookType[id=197868283998495 metadata=null name=Samar Maamouri type=null], NamedFacebookType[id=191663454652822 metadata=null name=Ben Ali Fatma Benali type=null], NamedFacebookType[id=1594576777456573 metadata=null name=Rania Trigui type=null], NamedFacebookType[id=10204633957434960 metadata=null name=Gasmi Ghassen type=null]] totalCount=0]
===================================
je veux extraire seulement les nom de mes amis..
merci.
A voir également:
- Extraire les nom des amis facebook qui ont fait des aimes
- Extraire une video youtube - Guide
- Voir qui regarde mon profil facebook - Guide
- Extraire le son d'une vidéo - Guide
- Nom pour facebook stylé - Guide
- Story facebook comment ça marche - Guide
4 réponses
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()) );
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.
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
@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.