Google Plus pour PHP : listez votre fil d'actualité personnel sur votre site
. Un code proposé par thomasmds

Le , par thomasmds, Membre régulier
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 ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de Thes32 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 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 Doksuri - Membre chevronné 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 Thes32 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 thomasmds 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 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 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; 
} 
?>
Avatar de Shikiryu 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 thomasmds thomasmds - Membre régulier https://www.developpez.com
le 14/08/2011 à 1:13
Citation Envoyé par Shikiryu  Voir le message
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.


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.
Avatar de stealth35 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/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
Offres d'emploi IT
Développeur Web FULL-STACK
VACALIANS GROUP - Languedoc Roussillon - SETE (34)
RESPONSABLE WEB ANALYTICS F/H
VACALIANS GROUP - Languedoc Roussillon - SETE (34)
Développeur WEB PHP F/H
VACALIANS GROUP - Languedoc Roussillon - SETE (34)

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique PHP