<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Bowjay &#187; PHP</title>
	<atom:link href="http://blog.bowjay.com/tag/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.bowjay.com</link>
	<description>Web expert</description>
	<lastBuildDate>Mon, 23 Jan 2012 10:57:35 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.1</generator>
		<item>
		<title>Comment Intégrer Facebook Connect sur son site web via le PHP SDK 3.1.1</title>
		<link>http://blog.bowjay.com/2012/01/11/comment-integrer-facebook-connect-sur-son-site-web-via-le-php-sdk-3-1-1/</link>
		<comments>http://blog.bowjay.com/2012/01/11/comment-integrer-facebook-connect-sur-son-site-web-via-le-php-sdk-3-1-1/#comments</comments>
		<pubDate>Wed, 11 Jan 2012 08:45:26 +0000</pubDate>
		<dc:creator>Jean-François ELIO</dc:creator>
				<category><![CDATA[Tech & Dev]]></category>
		<category><![CDATA[Facebook connect]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[SDK]]></category>

		<guid isPermaLink="false">http://blog.bowjay.com/?p=137</guid>
		<description><![CDATA[Nous allons aborder aujourd&#8217;hui, une partie bien spécifique de l’API Facebook : &#171;&#160;Facebook Connect&#160;&#187; via le PHP SDK et plus particulièrement la version 3.1.1 Je suis moi même tombé dans le piège et ai mis pas mal de temps avant de m&#8217;en rendre compte mais il faut bien faire attention à la version du SDK Facebook [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Nous allons aborder aujourd&rsquo;hui, une partie bien spécifique de l’API Facebook : &laquo;&nbsp;<strong><a title="Facebook Connect" href="http://developers.facebook.com/docs/reference/php/" target="_blank">Facebook Connect</a></strong>&nbsp;&raquo; via le PHP SDK et plus particulièrement la version 3.1.1</p>
<p style="text-align: justify;">Je suis moi même tombé dans le piège et ai mis pas mal de temps avant de m&rsquo;en rendre compte mais il faut bien faire attention à la version du SDK Facebook utilisée , et donc de certaines méthodes au risque de voir son application ne plus fonctionner, celui-ci ayant été mis à jour récemment ( <a title="PHP SDK" href="https://github.com/facebook/php-sdk/" target="_blank">PHP SDK</a> 3.1.1).</p>
<p style="text-align: justify;">Rentrons dès à présent dans le vif du sujet!</p>
<p style="text-align: justify;"><span id="more-137"></span></p>
<div id="attachment_153" class="wp-caption aligncenter" style="width: 300px; max-width: 300px; "><a title="Facebook Connect logo" href="http://blog.bowjay.com/wp-content/uploads/2012/01/fb_connect.png"><img class="size-medium wp-image-153  " src="http://blog.bowjay.com/wp-content/uploads/2012/01/fb_connect-300x225.png" alt="Facebook Connect" width="300" height="225" /></a><p class="wp-caption-text">Facebook Connect</p></div>
<p style="text-align: justify;"><strong>1 ère étape : Enregistrer son application</strong></p>
<p style="text-align: justify;">Pour commencer, vous devez enregistrer une application sur <a title="Facebook developers" href="http://www.facebook.com/developers" target="_blank">Facebook developers</a> pour bénéficier des APIs de Facebook. Vous obtiendrez alors un <strong>app Id</strong> et un <strong>app Secret</strong>.<br />
Pensez à configurer l&rsquo;<strong>app Domain</strong> en renseignant le champ url de la partie site web. Il correspond au domaine de votre site ( ex : <a href="http://www.votresite.com/" target="_blank">http://www.votresite.com</a> ).</p>
<div id="attachment_192" class="wp-caption aligncenter" style="width: 300px; max-width: 300px; "><a title="Application Facebook" href="http://blog.bowjay.com/wp-content/uploads/2012/01/app-facebook.png"><img class="size-medium wp-image-192 " src="http://blog.bowjay.com/wp-content/uploads/2012/01/app-facebook-300x269.png" alt="Application facebook" width="300" height="269" /></a><p class="wp-caption-text">Application facebook</p></div>
<p style="text-align: justify;"><strong>2 ème étape : Récupérer le PHP SDK</strong></p>
<p style="text-align: justify;">Téléchargez le <a title="PHP SDK" href="https://github.com/facebook/php-sdk/" target="_blank">PHP SDK</a>. Ce SDK permet un accès simple à la fois, au dernier graph API ainsi qu’à l’ancienne API.</p>
<p style="text-align: justify;"><strong>3 ème étape : Intégrer Facebook Connect</strong></p>
<p style="text-align: justify;">Tout d&rsquo;abord initialisons notre objet Facebook :</p>
<pre class="brush: php; gutter: true">require &#039;../src/facebook.php&#039;;

//Remplacer les x par l’app Id et app Secret
$facebook = new Facebook(array(
  &#039;appId&#039;  =&gt; &#039;xxxxxxxxxx&#039;,
  &#039;secret&#039; =&gt; &#039;xxxxxxxxxxxxxxxxxxxxxxxxxxxx&#039;,
));</pre>
<p style="text-align: justify;">Récupérons l&rsquo;ID de l&rsquo;utilisateur :</p>
<pre class="brush: php; gutter: true">// Obtenir le User ID
$user = $facebook-&gt;getUser();</pre>
<p>Si un User Id est retourné par Facebook, cela signifie qu&rsquo;un utilisateur est conecté sur Facebook. Toutefois cela ne signifie pas qu&rsquo;un jeton d&rsquo;accès est valide.<br />
A noter qu&rsquo;un jeton d&rsquo;accès est invalide si l&rsquo;utilisateur est déconnecté.</p>
<pre class="brush: php; gutter: true">if ($user) {
  try {
    $user_profile = $facebook-&gt;api(&#039;/me&#039;);
  } catch (FacebookApiException $e) {
    error_log($e);
    $user = null;
  }
}</pre>
<p style="text-align: justify;">Selon que vous soyez connecté ou non, vous aurez besoin de l&rsquo;adresse de login et celle de logout:</p>
<pre class="brush: php; gutter: true">// URL de Login ou de logout
if ($user) {
  $logoutUrl = $facebook-&gt;getLogoutUrl();
} else {
  $loginUrl = $facebook-&gt;getLoginUrl();
}</pre>
<div id="attachment_184" class="wp-caption alignleft" style="width: 300px; max-width: 300px; "><a title="Autorisation et permission facebook" href="http://blog.bowjay.com/wp-content/uploads/2012/01/facebook_authorize.png"><img class="size-medium wp-image-184  " src="http://blog.bowjay.com/wp-content/uploads/2012/01/facebook_authorize-300x201.png" alt="Autorisation et permission facebook" width="300" height="201" /></a><p class="wp-caption-text">Autorisation et permission facebook</p></div>
<p>&nbsp;</p>
<p>A noter que l&rsquo;on peut obtenir tout un tas d&rsquo;informations intéressantes de l&rsquo;utilisateur en envoyant des paramètres à notre fonction de <strong><a title="getLoginUrl" href="http://developers.facebook.com/docs/reference/php/facebook-getLoginUrl/" target="_blank">getLoginUrl</a> </strong>qui nous permettra notamment de récupérer l&rsquo;email de l&rsquo;utilisateur, la date de naissance, sa position etc&#8230; Bien sur cela dépendra de l&rsquo;autorisation d&rsquo;accès donnée par l&rsquo;utilisateur  à votre application.</p>
<p>Il est possible également de fournir une adresse spécifique de retour avec le paramètre <strong>redirect_uri</strong>.</p>
<pre class="brush: php; gutter: true">$param = array( &#039;redirect_uri&#039; =&gt; &#039;adresse de retour&#039;,
                &#039;scope&#039; =&gt; &#039;email,user_birthday,user_location,user_about_me,user_hometown&#039;,);
$loginUrl = $facebook-&gt;getLoginUrl($param);</pre>
<p>Lien que vous pouvez afficher maintenant sur votre espace de  connexion / déconnexion :</p>
<pre class="brush: php; gutter: true">&lt;?php if ($user): ?&gt;
    &lt;a href=&quot;&lt;?php echo $logoutUrl; ?&gt;&quot;&gt;Déconnexion&lt;/a&gt;
&lt;?php else: ?&gt;
      &lt;div&gt;
        &lt;a href=&quot;&lt;?php echo $loginUrl; ?&gt;&quot;&gt;Connexion avec Facebook&lt;/a&gt;
      &lt;/div&gt;
&lt;?php endif ?&gt;</pre>
<p>Maintenant que nous pouvons identifier qu&rsquo;un utilisateur est connecté ou non, vous pouvez afficher toutes les informations concernant l&rsquo;utilisateur :</p>
<pre class="brush: php; gutter: true">&lt;?php if ($user): ?&gt;
      &lt;img src=&quot;https://graph.facebook.com/&lt;?php echo $user; ?&gt;/picture&quot;&gt;
      &lt;h3&gt;Votre Objet utilisateur (/me)&lt;/h3&gt;
      &lt;pre&gt;&lt;?php print_r($user_profile); ?&gt;&lt;/pre&gt;
&lt;?php else: ?&gt;
      &lt;strong&gt;&lt;em&gt;Vous n&#039;êtes pas connecté&lt;/em&gt;&lt;/strong&gt;
&lt;?php endif ?&gt;</pre>
<p>En espérant que ce tutoriel vous aidera à implémenter plus facilement &laquo;&nbsp;Facebook Connect&nbsp;&raquo; via le PHP SDK 3.x.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.bowjay.com/2012/01/11/comment-integrer-facebook-connect-sur-son-site-web-via-le-php-sdk-3-1-1/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>
