Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/04/2011, 12h24   #1
Invité de passage
 
Inscription : décembre 2010
Messages : 21
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 21
Points : 0
Points : 0
Par défaut Application :publier une photo depuis une fanpage vers un profil FB en php

Bonjour,

Je souhaite publier une photo depuis une fanpage vers un profil FB en php.

A partir de cette source, je devrais pouvoir créer cette fonction : http://developers.facebook.com/docs/...nce/api/photo/

Ci-dessous mon code php de l'application...


Code :
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
 
<?php
	header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"'); // Hack IE pour le passage des $_POST
	session_start();
	// On charge la config et les librairies
	include('config/config.php');
	include('lib/facebook.php');
 
	// ICI, on va vérifier la session de l'utilisateur
 
	// On initialise le SDK Facebook PHP
$fb = new Facebook(array(
       'appId'  => FB_APP_ID,
       'secret' => FB_SECRET_ID,
       'cookie' => true,
	));
 
// On récupère la session Facebook de l'utilisateur
$session = $fb->getSession();
 
$me = null;
 
// On teste si la session existe
if ($session) {
 
	try {
 
			// On teste si l'utilisateur est en session
			if (isset($_SESSION['user']) && isset($_SESSION['uid'])) {
				// On récupère les données en session: Gain en perf: économie d'appel à l'API
				$me = $_SESSION['user'];
				$uid = $_SESSION['uid'];
				$user_id = $_SESSION['user_id']; // ID du membre en BDD
			}
			else {
				// On récupère l'UID de l'utilisateur Facebook courant
				$uid = $fb->getUser();
				// On récupère les infos de base de l'utilisateur
				$me = $fb->api('/me');	
 
				// On stock les infos de l'utilisateur en session: Pseudo cache
				$_SESSION['uid'] = $uid;
				$_SESSION['user'] = $me;
 
				// Session n'existe pas, on INSERT/MAJ les infos de l'user
				$query = "INSERT INTO user SET uid = '".$uid."', lastname='".mysql_real_escape_string($me['last_name'])."', firstname='".mysql_real_escape_string($me['first_name'])."', created_at = NOW(), last_login=NOW() ON DUPLICATE KEY UPDATE last_login = NOW()";
				$res = mysql_query($query);
 
				$user_id = mysql_insert_id();
				$_SESSION['user_id'] = $user_id;
			} 
			}catch (FacebookApiException $e) {
 
		// S'il y'a un problème lors de la récup, perte de session entre temps, suppression des autorisations...
 
		// On récupère l'URL sur laquelle on devra rediriger l'utilisateur pour le réidentifier sur l'application
		$loginUrl = $fb->getLoginUrl(
			array(
	            'canvas'    => 1,
	            'fbconnect' => 0
			)
		);
		// On le redirige en JS (header PHP pas possible)
		echo "<script type='text/javascript'>top.location.href = '".$loginUrl."';</script>";
 		exit();
	}
 
}
else {
	// Si l'utilisateur n'a pas de session
 
	// On récupère l'URL sur laquelle on devra rediriger l'utilisateur pour le réidentifier sur l'application
	$loginUrl = $fb->getLoginUrl(
	array(
           'canvas'    => 1,
           'fbconnect' => 0,
           'req_perms' => 'publish_stream'
	)
);
	// On le redirige en JS (header PHP pas possible)
	echo "<script type='text/javascript'>top.location.href = '".$loginUrl."';</script>";
		exit();
}
 
 // Mon code à inclure pour la publication de photo se trouve ici ?
?>
pls85 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2011, 14h02   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Et quel est ton problème ?
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h51.


 
 
 
 
Partenaires

Hébergement Web