J'ai cherché sur ce site pour la réponse pendant un certain temps et je n'ai pas été en mesure d'en trouver un pour ce problème, donc j'espère que quelqu'un peut me donner un coup de main. Je ne suis pas vraiment un programmeur PHP expérimenté, donc il pourrait y avoir quelque chose de grave avec ce que je fais.Facebook PHP SDK Connection
De toute façon je travaille avec un autre développeur qui ne code pas du tout en PHP et qui a besoin d'accéder aux informations de Facebook. Cela étant dit, j'essaie de développer une classe facebook qui encapsule tous les appels de graphs sur Facebook, permettant à mon pote d'appeler une seule fonction et d'obtenir toutes les informations dont il a besoin sans avoir à se soucier des fonctions du Facebook SDK PHP. du tout. Cette classe j'ai mis dans un fichier séparé appelé CFacebook.php. Le code pour cette classe peut être trouvé ci-dessous (j'ai simplement copié l'exemple sur le site web facebook)
<?php
require_once 'facebook.php';
class CFacebook
{
//private variables
private $Config = "";
private $FBObject = "";
private $Code = "";
private $Session = "";
private $AppId = '*************';
private $ApiSecret = '*******************';
//I have the API secret and AppID in
//here but for privacy reasons I've taken them out
//constructor
public function CFacebook()
{
$this->FBObject = new Facebook();
$this->FBObject->setApiSecret($this->ApiSecret);
$this->FBObject->setAppId($this->AppId);
}
//Get profile information
public function GetFBProfileInformation()
{
$FBProfile = "";
$ID = $this->FBObject->getUser();
echo "<br />";
if($ID)
{
try {
$FBProfile = $this->FBObject->api('/me','GET');
return $FBProfile;
}catch (FacebookApiException $e)
{
//send back to UI to have user sign in
// If the user is logged out, you can have a
// user ID even though the access token is invalid.
// In this case, we'll get an exception, so we'll
// just ask the user to login again here.
echo "has ID <br />";
$login_url = $this->FBObject->getLoginUrl();
echo 'Please <a href="' . $login_url . '">login.</a>';
echo $this->FBObject->getAccessToken()."<br />";
echo $this->FBObject->getApiSecret()."<br />";
error_log($e->getType());
error_log($e->getMessage());
}
}else
{
//return to UI taht user isn't logged in and have user re-sign in
//If the user is logged out, you can have a
// user ID even though the access token is invalid.
// In this case, we'll get an exception, so we'll
// just ask the user to login again here.
$Page = "http://fratlabs.com/FacebookTest.php";
$login_url = $this->FBObject->getLoginUrl(array('scope'=>'email,publish_stream,user_likes,user_hometown','redirect_uri'=>$Page));
//$logout_url = $this->FBObject->getLogoutUrl(array('next'=>'http://fratlabs.com/FacebookTest.php'));
echo 'Please <a href="' . $login_url . '">login.</a>';
//echo 'Logout Url: <a href="'. $logout_url.'">Logout</a>';
error_log($e->getType());
error_log($e->getMessage());
}
//echo $this->FBObject->getLogoutUrl(array('next'=>'http://fratlabs.com/FacebookTest.php'));
}
};
?>
Cette classe est inclus et instancié dans une page de test qui est l'endroit où la connexion Facebook est retourné aussi. Peut-être que j'ai besoin d'inclure tous ces appels dans la même page que celle à laquelle le login facebook est retourné? La seule chose qui me dérange, c'est que chaque fois que le code fonctionne, je crée un lien vers Facebook, mais toutes les autres fois, je regarde la page de connexion avec le lien "please login".
Merci pour votre aide, j'apprécie vraiment!
-Brett