Cada vez es más común utilizar redes sociales en nuestras aplicaciones, en este ejemplo explicaremos como acceder a facebook desde java utilizando el api facebook4j.
Paso 1 Crear la cuenta
Sabemos que muchos de nosotros ya contamos con nuestra cuenta, pero es necesario registrar nuestra aplicación dentro del sitio de desarrolladores de Facebook en el siguiente link https://developers.facebook.com/docs/graph-api.
Una vez hecho esto debemos contar con los siguientes datos:
- Application id :
- Secret id:
- Token id: Puedes generarlo aquí
Paso 2 Configurar el proyecto
El siguiente paso será configurar el proyecto para esto veamos nuestro archivo pom.xml. Y agregar las siguientes líneas para configurar nuestro cliente de Facebook:
Facebook facebook = new FacebookFactory().getInstance(); facebook.setOAuthAppId("app id", "secret id"); facebook.setOAuthAccessToken(new AccessToken("your access tocken"));
Con las líneas anteriores tendremos listo para usar nuestro cliente de Facebook.
Paso 3 Utilizar el cliente de Facebook
En esta sección mostraremos algunos de los métodos disponibles en el api.
Ver amigos
Para ver la lista de tus amigos ejecutarás lo siguiente:
ResponseList friends = facebook.getFriends(); for (Friend friend : friends) { System.out.println(friend); }
Salida :
FriendJSONImpl extends UserJSONImpl [id=1111111, name=Friend name, firstName=null, middleName=null, lastName=null, gender=null, locale=null, languages=[], link=null, username=null, thirdPartyId=null, timezone=null, updatedTime=null, verified=null, bio=null, birthday=null, cover=null, education=[], email=null, hometown=null, interestedIn=[], location=null, political=null, favoriteAthletes=[], favoriteTeams=[], picture=null, quotes=null, relationshipStatus=null, religion=null, tokenForBusiness=null, significantOther=null, videoUploadLimits=null, website=null, work=[], ageRange=null] .....
En la salida anterior podemos darnos cuenta del tipo de información que podremos obtener.
Obtener mis posts
System.out.println("\tGetting my posts\n"); ResponseList feed = facebook.getFeed(); for (Post post : feed) { System.out.println(post); }
Lo anterior mostrará una salida como la siguiente:
PostJSONImpl{id='100000436331886_1821178564573337', from=null, to=[], message='Actúa natural para la foto 😅', messageTags=[], picture=null, fullPicture=null, link=null, name='null', caption='null', description='null', source=null, properties=[], icon='null', actions=[], privacy=null, type='null', sharesCount=null, likes=PagableListImpl{count=null, paging=null, summary=null, []}, place=null, statusType='null', story='null', storyTags={}, withTags=[], comments=PagableListImpl{count=null, paging=null, summary=null, []}, attachments=[], objectId='null', application=null, createdTime=Sat Mar 03 11:50:03 CST 2018, updatedTime=null, isPublished=null, isHidden=null, scheduledPublishTime=null, targeting=null, permalinkUrl=null}
La salida anterior podemos darnos cuenta del tipo de información que podremos obtener.
Obtener posts de otras cuentas
System.out.println("\tGetting cool posts\n"); ResponseList geeksFeed = facebook.getFeed("geeksJavaMexico"); for (Post post : geeksFeed) { System.out.println(post); }
Lo anterior mostrará una salida como la siguiente:
PostJSONImpl{id='1135265379951652_1320846304726891', from=null, to=[], message='Hola Geeks! Queremos compartirles que entramos al concurso de kaspersky y quedamos seleccionados entre los mejores 25 proyectos deséenos suerte 🤓🇲🇽 https://kasperskystart.mx/', messageTags=[], picture=null, fullPicture=null, link=null, name='null', caption='null', description='null', source=null, properties=[], icon='null', actions=[], privacy=null, type='null', sharesCount=null, likes=PagableListImpl{count=null, paging=null, summary=null, []}, place=null, statusType='null', story='null', storyTags={}, withTags=[], comments=PagableListImpl{count=null, paging=null, summary=null, []}, attachments=[], objectId='null', application=null, createdTime=Wed Mar 14 12:42:33 CST 2018, updatedTime=null, isPublished=null, isHidden=null, scheduledPublishTime=null, targeting=null, permalinkUrl=null}
La salida anterior podemos darnos cuenta del tipo de información que podremos obtener.
Puntos importantes a considerar
Si tienes preguntas sobre el graph api de Facebook puedes ver su faq https://developers.facebook.com/docs/graph-api/faq, es importante que consideres los endpoints que han sido marcados como deprecated por Facebook, un ejemplo claro son las búsquedas.