使用Php Sdk的简单Facebook应用程序

时间:2012-02-07 18:11:54

标签: php facebook-php-sdk facebook-apps

我只需要简单易用的Facebook应用。我为此买了ssl而且我不想要太多费用。

如果用户允许应用,则会写出他的姓名和性别以及他/她的朋友性别。

我的应用在用户允许该应用后无法重定向。我无法修复它所以只需要基本的应用程序,而不需要重定向。

ı使用此代码,但它不起作用。需要纠正:

require_once("facebook.php");
$facebook = new Facebook(array(
    'appId'  => '***',
    'secret' => '***',
  'scope'  => 'manage_pages,offline_access,publish_stream,user_photos'
));

$user = $facebook->getUser();

if ($user) {
  try {
    // Proceed knowing you have a logged in user who's authenticated.
    $user_profile = $facebook->api('/me');
  } catch (FacebookApiException $e) {
    $user = null;
  }
}

if ($user) {
  $logoutUrl = $facebook->getLogoutUrl();
} else {
  $loginUrl = $facebook->getLoginUrl();
}

1 个答案:

答案 0 :(得分:3)

这是一个简单的单页应用程序,可以满足您的需求

制作名称为 index.php

的文件

下载facebook图书馆download here

<?php 

require_once 'library/facebook.php';


// Create our Application instance.
$facebook = new Facebook(array(
  'appId' => 'appid',
  'secret' => 'secret',
  'cookie' => true,
)); 

     $app_id = 'appid';

     $canvas_page = "canvas_page_link";


     $auth_url = "http://www.facebook.com/dialog/oauth?client_id=" 
            . $app_id . "&redirect_uri=" . urlencode($canvas_page) . ("&scope=email,read_stream&response_type=token");

     $signed_request = $_REQUEST["signed_request"];

     list($encoded_sig, $payload) = explode('.', $signed_request, 2); 

     $data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true);

     if (empty($data["user_id"])) {
            echo("<script> top.location.href='" . $auth_url . "'</script>");
     } else {

     //getting the userid and some other data for verification 

     //get the user id 
            $UserId = $data["user_id"];
            echo 'UserId;' . $UserId;

    //get the user access token
            $token = $facebook->getAccessToken();
            echo "</br>" . 'Access_Token:' . $token;

    //set default access token and profile
            $facebook->setAccessToken($token);
            $user_profile = $facebook->api('/me');

     //get the user name 
            $user_id = $facebook->getUser();
            $user_profile = $facebook->api('/me','GET');
            $user_name = $user_profile['name'];
            echo "Name: " . $user_name;
            $user_gender = $user_profile['gender'];
            echo "Gender: " . $user_gender;

} 
?>