IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Téléchargé 1 fois
Vote des utilisateurs
1 
0 
Détails
Licence : Libre
Mise en ligne le 11 août 2011
Plate-formes : iOS, Linux, Mac, Symbian, Windows
Langue : Français
Référencé dans
Navigation

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
Avatar de Thes32
Expert confirmé https://www.developpez.com
Le 12/08/2011 à 18:18
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.
Avatar de Shikiryu
Membre éclairé https://www.developpez.com
Le 14/08/2011 à 0:43
Code : Sélectionner tout
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.
Avatar de stealth35
Expert éminent sénior https://www.developpez.com
Le 14/08/2011 à 19:48
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
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/explore...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
Avatar de Thes32
Expert confirmé https://www.developpez.com
Le 12/08/2011 à 10:59
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
Avatar de Thes32
Expert confirmé https://www.developpez.com
Le 12/08/2011 à 11:03
et pourquoi pas ajouté une petite touche d'AJAX ?
Avatar de Doksuri
Expert confirmé https://www.developpez.com
Le 12/08/2011 à 18:04
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 ?
Avatar de thomasmds
Membre régulier https://www.developpez.com
Le 12/08/2011 à 18:41
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é.

Avatar de thomasmds
Membre régulier https://www.developpez.com
Le 13/08/2011 à 0:15
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.
Avatar de thomasmds
Membre régulier https://www.developpez.com
Le 13/08/2011 à 22:12
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
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;
}
?>
Developpez.com décline toute responsabilité quant à l'utilisation des différents éléments téléchargés.