IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Contribuez / Téléchargez Sources et Outils PHP Discussion :

Google Plus pour PHP


Sujet :

Contribuez / Téléchargez Sources et Outils PHP

  1. #1
    Membre régulier
    Avatar de thomasmds
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 9
    Points : 102
    Points
    102
    Par défaut Google Plus pour PHP
    Bonjour,

    Je vous propose un nouvel élément à utiliser : Google Plus pour PHP

    Ce petit code source va vous permettre de lister sur votre propre site web le contenu de votre fil d'actualité personnel de Google Plus.



    Il s'agit bien entendu d'un petit script personnel en attendant une vrai solution plus complète et moins "bidouillée". Mais elle devrait convenir pour le moment.



    Vous pouvez voir le résultat sur mon site personnel http://www.thomasmoreira.com

    Qu'en pensez-vous ?

  2. #2
    Expert confirmé
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Points : 4 853
    Points
    4 853
    Par défaut
    oh Cool ! Tu pourrais le faire sous forme d'une fonction/classe ? où l'on pourrait passer des paramètre comme le nom du user, le mot de passe, le nombre d'actus à afficher...

    Il est très sympa sinon
    Développeur | Zend Certified Engineer

    Étapes Pour mieux se servir du forum:
    1. Commencez par lire les cours et tutoriels ;
    2. Faites une recherche;
    3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles;

    Nix>_Rien n'est plus pratique que la théorie

  3. #3
    Expert confirmé
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Points : 4 853
    Points
    4 853
    Par défaut
    et pourquoi pas ajouté une petite touche d'AJAX ?
    Développeur | Zend Certified Engineer

    Étapes Pour mieux se servir du forum:
    1. Commencez par lire les cours et tutoriels ;
    2. Faites une recherche;
    3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles;

    Nix>_Rien n'est plus pratique que la théorie

  4. #4
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 450
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 450
    Points : 4 600
    Points
    4 600
    Par défaut
    Salut,

    ce petit script a l'air fort interessant (je testerai ce w-e)

    -> mais est-ce legal ?
    -> google ne va-t-il pas proposer (ou propose-t-il deja ?) un genre d'api pour recuperer les infos ?
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  5. #5
    Expert confirmé
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Points : 4 853
    Points
    4 853
    Par défaut
    Citation Envoyé par Doksuri Voir le message
    Salut,

    ce petit script a l'air fort interessant (je testerai ce w-e)

    -> mais est-ce legal ?
    Je ne vois rien d'illégal dedans.

    Aussi j'ai déjà vu quelques script du genre sur github mais j'aime bien celui ci.
    Citation Envoyé par Doksuri Voir le message
    -> google ne va-t-il pas proposer (ou propose-t-il deja ?) un genre d'api pour recuperer les infos ?
    Pas d'api pour le moment. Il proposera certainement, mais pour l'instant ce sont ce genre de script qui sauve la vie.
    Développeur | Zend Certified Engineer

    Étapes Pour mieux se servir du forum:
    1. Commencez par lire les cours et tutoriels ;
    2. Faites une recherche;
    3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles;

    Nix>_Rien n'est plus pratique que la théorie

  6. #6
    Membre régulier
    Avatar de thomasmds
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 9
    Points : 102
    Points
    102
    Par défaut Merci
    Merci beaucoup, c'est sympa, c'était la première fois que je poster du code ici.

    Malheureusement je ne touche pas encore assez à l'AJAX. Mais même en y connaissant le principe j'ai du mal a voir en quoi ça servirait ici.

    Si vous avez des idées d'améliorations je les attends.

    Pour la fonction, je vais le faire ok, j'avais hésiter, et puis je me suis dit que d'inclure simplement la fonction là où l'on veut suffisait.


    Ensuite, pour l'API, je pensais aussi qu'il en existait, ou du moins des fichiers XML comme sur Twitter. Mais je n'ai rien trouvé.


  7. #7
    Membre régulier
    Avatar de thomasmds
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 9
    Points : 102
    Points
    102
    Par défaut Fonction
    Je l'ai faite en Fonction, mais je ne sais pas comment on fait pour modifier le code que j'ai posté.

    Si quelqu'un peut me le dire ça serait sympa. Merci.

    Et j'en ai profité pour l'amélioré un tout petit peu, et surtout éliminer les quelques bugs.

  8. #8
    Membre régulier
    Avatar de thomasmds
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 9
    Points : 102
    Points
    102
    Par défaut Version Fonction
    Bon, puisque je ne sais pas comment on modifie le code , je le poste ici :

    La nouvelle version c'est une simple fonction qui renvoie un tableau des liens :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
    <?php
    /*	Lister les liens de votre fil d'actualités de Google Plus.
     *	
     *  Créer par Thomas Moreira : www.thomasmoreira.com
     *	Twitter : @thomasmds
     *
     */
     
    function Liste_GPlus($user = "109887903456802277373", $nb_liens = 1) {
    	//traitement du nombre de liens a renvoyer
    	if ($nb_liens < 1) { $nb_liens = 1; }
     
    	//récupération de la page google plus
    	$File = file_get_contents("https://plus.google.com/$user/posts");
     
    	//Création d'un tableau séparant tous les posts
    	$tableau = explode('<div id="update-', $File);
     
    	$tab_liens = array();
     
    	$compteur = 0;
    	foreach ($tableau as $value) {
    		if($compteur > 0 AND $compteur < $nb_liens+1)
    		{
    			//recuperation des positions exactes des liens
    			$pos1 = strpos($value, "O-F-Q");
    			$pos2 = strpos($value, "</div>", $pos1);
     
    			if ($pos1)
    			{
    				$tab_liens[0] = $compteur;
    				$tab_liens[$compteur] = substr($value, $pos1+7, $pos2-$pos1-1);
    			}
    			else
    			{
    				$compteur--;
    			}
    		}
    		$compteur++;
    	}
    	// Retourne un tableau numéroté. La case 0 contient le nombre de liens retournés.
    	return $tab_liens;
    }
    ?>

  9. #9
    Membre éclairé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2011
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 411
    Points : 735
    Points
    735
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://plusfeed.appspot.com/$userId
    ça donne un RSS des posts publics de la personne.
    Ensuite, parser le RSS avec simpleXML ou Domdocument et c'est finit.
    Je suis fervent utilisateur de PHP et de jQuery.
    Après des études de graphisme, j'ai décidé de mélanger développement web et web design. J'ai ainsi donc créé mon site web de développeur web dans le Val d'Oise mais aussi plusieurs projets personnels.
    Dans les plus aboutis, vous pourrez trouver dans mon labo et dans mon devblog, une extension de navigateur pour envoyer l'URL de la page actuelle vers votre email pour lire plus tard ou sauvegarder, mon générateur de template HTML5, etc…

  10. #10
    Membre régulier
    Avatar de thomasmds
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 9
    Points : 102
    Points
    102
    Par défaut
    Citation Envoyé par Shikiryu Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://plusfeed.appspot.com/$userId
    ça donne un RSS des posts publics de la personne.
    Ensuite, parser le RSS avec simpleXML ou Domdocument et c'est finit.

    Et ben merci bien . Je cherchais quelque chose comme ça, et comme je n'avais rien trouvé j'ai créé ma propre fonction.

    Bon maintenant que c'est fait je garde la mienne jusqu'à ce que l'API de google sorte.

  11. #11
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    ouai pas top dutout de paser du HTML de cette façon, DOMDocument est fait pour et est bien plus simple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    $id  = "109887903456802277373";
    $url = "https://plus.google.com/$id/posts";
     
    $old = libxml_use_internal_errors(true);
     
    $doc = new DOMDocument();
    $doc->loadHTMLFile($url);
     
    libxml_clear_errors();
    libxml_use_internal_errors($old);
     
    $xpath = new DOMXpath($doc);
    $query = $xpath->query('//a[@class="ot-anchor O-F-Q-k"]');
     
    foreach($query as $node)
    {
        $text = $node->nodeValue;
        $link = $node->getAttribute('href');
     
        echo "<a href=\"$link\">$text</a><br />"; 
    }
    en ce qui concerne l'api elle existe déjà même si y'a pas grand chose dedans :
    https://code.google.com/apis/explorer/#_s=plus&_v=v1

    pour ce qui est de la légalité, on va plutot dire que le HTML datamining est vraiment très mal vu et y'a de gros risque de blacklistage

  12. #12
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 239
    Points : 539
    Points
    539
    Par défaut Mauvaise habitude
    Perdez cette mauvaise habitude tout de suite d'utiliser l'opérateur AND en lieu et place de &&.

    L'opérateur AND n'est en effet pas prioritaire sur les autres opérateurs.

    Du coup si on considère les deux tests multiples ci-dessous.

    Le premier prendra bien compte tous les tests pour valider
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    (isset($panelemail) && !empty($panelemail) ? $panelemail : $userdata['email']);
    ?>
    et pourra retourner $userdata['email']...

    Mais la seconde ne le fera dès lors que isset retournera false
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    (isset($panelemail) AND !empty($panelemail) ? $panelemail : $userdata['email']);
    ?>
    Très mauvaise habitude donc d'utiliser les opérateurs AND et OR car ça ne suit plus strictement le raisonnement logique.

Discussions similaires

  1. Réponses: 0
    Dernier message: 11/02/2015, 16h55
  2. Besoin de RAM de plus pour un script php
    Par ryodo dans le forum Langage
    Réponses: 4
    Dernier message: 23/11/2012, 14h34
  3. [Google Maps] Quelle approche pour développer une application google maps (JS/PHP/MySQL)
    Par ggive dans le forum APIs Google
    Réponses: 0
    Dernier message: 23/11/2011, 16h17
  4. [GD] Cherche librairie gd2 pour php 4 ou plus
    Par lenoil dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 19/07/2007, 12h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo