gplus-to-twitterFabien Baligand
Cliquez pour ajouterquoi titre         gplus-to-twitter, c’est un ?    • Cliquez pour ajouter un plan            Une appli...
Cliquez pour ajouter un?titre          pourquoi gplus-to-twitter    • Cliquez pour ajouter trouvé d’outil équivalent      ...
Cliquez pour ajouter un titre         Outils / Technos utilisés    • Cliquez pour ajouter un plan            Google+ API /...
Cliquez pour ajouter un titre         Architecture    • Cliquez pour ajouter un plan            Google            Google  ...
Cliquez pour ajouter un titre          Google+ API / google-api-java-client                 Google+ API fournit les APIs R...
Cliquez pour ajouterposts publics         Google+ API – récupérer les un titre    • Cliquez pour ajouter un plan          ...
Cliquez pour ajouter un titre          Google+ API – utiliser une API key    • Cliquez pouràajouter un plan          1. Ac...
Cliquez pour ajouter un titre          Twitter4j    • Cliquez pour permet d’effectuer les actions suivantes sur           ...
Cliquez pour ajouter un titre          Twitter4j – lire une timeline     • Cliquez pour ajouter un plan           Twitter ...
Cliquez pour ajouter un titre          Twitter4j – poster un tweet     • Cliquez pour ajouter un plan           AccessToke...
Cliquez pour ajouter un titre          OAuth 2 – Concepts     • Cliquez pour de fournir un jeton d’accès à une            ...
Cliquez pour ajouter un titre          OAuth 2 – Mise en oeuvre     • Cliquez pour ajouter unapplication sur           1. ...
Cliquez pour ajouter un titre          OAuth 2 – Configuration     • Cliquez pour ajouter /twitter4j.properties :         ...
Cliquez pour Engine un titre          Google App ajouter     • Cliquez pour ajouter un plan :             Éléments de l’ap...
Cliquez pour Engine - Cron titre          Google App ajouter un     • Cliquez pour/WEB-INF/cron.xml :             Fichier ...
Cliquez pour ajouter un titre          Objectify     • Cliquez pour ajouter un plan sur le DataStore             Framework...
Cliquez pour ajouter un titre          Jsoup     • Cliquez pour ajouter parsing HTML :             Librairie Java de un pl...
Cliquez pour ajouter un titre           Conclusion     • Cliquez pour d’après : ouvrir l’application à tout             L’...
Prochain SlideShare
Chargement dans…5
×

Présentation de gplus to-twitter

1 378 vues

Publié le

Présentation de l'application http://gplus-to-twitter.appspot.com, qui est un service d'auto-publication des posts publiques d'un compte Google+ vers un compte Twitter

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
1 378
Sur SlideShare
0
Issues des intégrations
0
Intégrations
5
Actions
Partages
0
Téléchargements
2
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Présentation de gplus to-twitter

  1. 1. gplus-to-twitterFabien Baligand
  2. 2. Cliquez pour ajouterquoi titre gplus-to-twitter, c’est un ? • Cliquez pour ajouter un plan Une application sur AppEngine : http://gplus-to-twitter.appspot.com Publie automatiquement toutes les 5 minutes, pour chaque compte configuré, les posts publiques Google+ vers Twitter2
  3. 3. Cliquez pour ajouter un?titre pourquoi gplus-to-twitter • Cliquez pour ajouter trouvé d’outil équivalent Parce que je n’ai pas un plan Pour le petit challenge technique Pour découvrir l’API Google+ dès sa sortie Pour avoir une alternative à Google Reader -> Partager -> FriendFeed -> Twitter : Reader -> Partager -> Google+ -> gplus-to-twitter -> Twitter Et parce que c’est cloud, c’est fun et c’est geek ;)3
  4. 4. Cliquez pour ajouter un titre Outils / Technos utilisés • Cliquez pour ajouter un plan Google+ API / google-api-java-client Twitter4j OAuth 2 Google App Engine Cron / Servlet / JSP / DataStore Objectify Jsoup4
  5. 5. Cliquez pour ajouter un titre Architecture • Cliquez pour ajouter un plan Google Google DataStore DataStore App Engine App Engine « Account » « Account » 1 Cron / toutes les 5 min 2 Objectify /admin/gplus-to-twitter /admin/gplus-to-twitter google-api-java-client twitter4j 5 3 4 Twitter Twitter Jsoup (HTML to TEXT) Google+ Google+5 REST API REST API REST API REST API
  6. 6. Cliquez pour ajouter un titre Google+ API / google-api-java-client Google+ API fournit les APIs REST suivantes: • Cliquez pour ajouter un plan Consulter le profil d’un utilisateur Lister les posts publics d’un utilisateur Recherche full-text de profils ou de posts Sécurité Authentification par Google Key (accès aux données publiques) Authentification par OAuth 2 (accès aux données privées) google-api-java-client : Ensemble de librairies java wrapant les services REST proposés par les Google APIs https://developers.google.com/+/api/ http://code.google.com/p/google-api-java-client/6
  7. 7. Cliquez pour ajouterposts publics Google+ API – récupérer les un titre • Cliquez pour ajouter un plan Plus plus = Plus.builder(new NetHttpTransport(), new GsonFactory()) .build(); ActivityFeed feed = plus.activities() .list(googlePlusUserId, "public") .execute(); for (Activity activity : feed.getItems()) { String content = activity.getPlusObject().getContent(); System.out.println(content); }7
  8. 8. Cliquez pour ajouter un titre Google+ API – utiliser une API key • Cliquez pouràajouter un plan 1. Accéder https://code.google.com/apis/console/ 2. Créer un nouveau projet 3. Choisir les services Google auxquels accède le projet 4. Récupérer la clé générée dans l’onglet « API Access » 5. Utiliser la clé pour initialiser le client Google+ : Plus plus = Plus.builder(new NetHttpTransport(), new GsonFactory()) .setJsonHttpRequestInitializer( new JsonHttpRequestInitializer() { public void initialize(JsonHttpRequest request) { ((PlusRequest)request).setKey(GOOGLE_API_KEY); } }) .build();8
  9. 9. Cliquez pour ajouter un titre Twitter4j • Cliquez pour permet d’effectuer les actions suivantes sur Twitter4j ajouter un plan un compte Twitter : Lire les tweets de la timeline Consulter le profil, les suivants et suivis Mettre à jour le profil, s’abonner à de nouvelles timelines Poster des tweets Sécurité des actions : En lecture : aucune authentification En écriture : authentification OAuth 2 http://twitter4j.org9
  10. 10. Cliquez pour ajouter un titre Twitter4j – lire une timeline • Cliquez pour ajouter un plan Twitter twitter = new TwitterFactory().getInstance(); List<Status> timeline = twitter.getUserTimeline("fbaligand"); for (Status status : timeline) { System.out.println(status.getText()); }10
  11. 11. Cliquez pour ajouter un titre Twitter4j – poster un tweet • Cliquez pour ajouter un plan AccessToken accessToken = new AccessToken(token, tokenSecret); Twitter twitter = twitterFactory.getInstance(accessToken); twitter.updateStatus("hello twitter!");11
  12. 12. Cliquez pour ajouter un titre OAuth 2 – Concepts • Cliquez pour de fournir un jeton d’accès à une Permet ajouter un plan application identifiée pour accéder à son compte, sans fournir son mot de passe Permet de révoquer à tout moment un jeton accordé à une application donnée ou de le générer à nouveau12
  13. 13. Cliquez pour ajouter un titre OAuth 2 – Mise en oeuvre • Cliquez pour ajouter unapplication sur 1. On déclare une nouvelle plan https://dev.twitter.com 2. Une application possède alors une clé d’identification et un mot de passe 3. On configure twitter4j avec ces identifiants d’application 4. Via twitter4j, on génère un jeton de requête 5. L’utilisateur cible accepte ce jeton de requête via une URL d’autorisation 6. Via twitter4j, on récupère le jeton d’accès résultat (et13 le mot de passe associé)
  14. 14. Cliquez pour ajouter un titre OAuth 2 – Configuration • Cliquez pour ajouter /twitter4j.properties : Configuration de un plan oauth.consumerKey=<appConsumerKey> oauth.consumerSecret=<appConsumerSecret> Configuration de l’instance Twitter : AccessToken accessToken = new AccessToken(token, tokenSecret); Twitter twitter = twitterFactory.getInstance(accessToken);14
  15. 15. Cliquez pour Engine un titre Google App ajouter • Cliquez pour ajouter un plan : Éléments de l’application GAE Une servlet d’envoi des posts G+ vers twitter (appelée toutes les 5 minutes par cron) Un formulaire JSP de saisie et une servlet de création d’un nouveau compte Google+ / Twitter Une entité « Account » Sécurité : Les 2 servlets et la JSP ne sont accessibles que par l’administrateur de l’application et par cron15
  16. 16. Cliquez pour Engine - Cron titre Google App ajouter un • Cliquez pour/WEB-INF/cron.xml : Fichier ajouter un plan <cronentries> <cron> <url>/admin/gplus-to-twitter</url> <description>a description</description> <schedule>every 5 minutes</schedule> </cron> </cronentries>16
  17. 17. Cliquez pour ajouter un titre Objectify • Cliquez pour ajouter un plan sur le DataStore Framework de persistance de Google App Engine Très simple à utiliser et adapté à une base NoSQL (contrairement à JDO et JPA) Introduction à Objectify : Présentation de Patrice de Saint Steban Site du projet : http://code.google.com/p/objectify-appengine/17
  18. 18. Cliquez pour ajouter un titre Jsoup • Cliquez pour ajouter parsing HTML : Librairie Java de un plan transforme du HTML en texte simple Trouve et extrait une liste de noeuds HTML grâce à un sélecteur CSS jQuery Exemple de code : String text = Jsoup.parse("<span><i>un texte</i></span>").text(); Site du projet : http://jsoup.org/18
  19. 19. Cliquez pour ajouter un titre Conclusion • Cliquez pour d’après : ouvrir l’application à tout L’étape ajouter un plan utilisateur voulant s’enregistrer Limite bloquante : le quota de Google+ API limité à 1000 requêtes par jour http://gplus-to-twitter.appspot.com19

×