2014-09-12 2 views
-1

Я хочу знать основные требования, такие какОсновные требования к использованию facebook SDK в CodeIgniter

  • CodeIgniter версия
  • PHP версия
  • facebook для PHP SDK версии

Я пытался facebook sdk version 3 с php 5.3.5, codeigniter 2.2. Это будет работать? Прошу вас, пожалуйста.

+0

Только один способ узнать это! – iswinky

+0

@ iswinky Это? Как его найти? – Akshay

+0

И для того, кто проголосовал за этот вопрос, я не получил информацию об этом, поэтому я спросил его здесь. Это не преступление, если у вас меньше знаний о чем-то. – Akshay

ответ

0

Уверен, что он работает. Порекомендовал бы, что вы действительно начнете его строить, и если это не сработает, напишите здесь в stackoverflow с ошибками, и я уверен, что сообщество поможет.

+0

Хорошо. Благодарю. Я работаю над этим. – Akshay

0

Шаг 1: Скачать & настройки папки

Я постараюсь сделать это как коротким и сладким, как это возможно:

Download the Facebook SDK for PHP from GitHub 

https://github.com/facebook/facebook-php-sdk-v4/archive/master.zip

Create a folder in your application/libraries folder called facebook 
Move the Facebook folder in src from the Facebook SDK to the facebook folder you just created. 

Шаг 2: Создание & определить переменные конфигурации

Вам также потребуется настроить некоторые переменные конфигурации. Либо в приложении/Config/config.php или собственный конфигурационный файл - который я предлагаю вам сделать - создать следующие переменные:

<?php 
$config['facebook']['api_id'] = 'YOUR APP ID'; 
$config['facebook']['app_secret'] = 'YOUR APP SECRET'; 
$config['facebook']['redirect_url'] = 'http://www.yourwebsite.com/login'; 
$config['facebook']['permissions'] = array(
'email', 
'user_location', 
'user_birthday' 
); 

вид сырого 1492-1.php размещенных с ❤ на GitHub

Теперь, когда у вас есть файлы и настройка конфигурации, вам необходимо создать библиотеку Facebook для CodeIgniter. Вы будете использовать это, чтобы преодолеть захват между вашим CI-приложением и SDK для Facebook. Шаг 3: Создайте библиотеку CodeIgniter

Создайте файл в папке application/libraries/facebook под названием Facebook.php. Вот где все волшебство произойдет. В зависимости от того, как вы его используете, вам может потребоваться автозагрузка библиотеки или просто загрузить ее в контроллер, который вы будете использовать для ... до вас.

Это отнюдь не является полной библиотекой, но показывает, как использовать API для создания методов, позволяющих вам получить доступ к ним в контроллерах.

application/libraries/facebook/facebook.php: 

<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); 

if (session_status() == PHP_SESSION_NONE) { 
session_start(); 
} 

// Autoload the required files 
require_once(APPPATH . 'libraries/facebook/vendor/autoload.php'); 

use Facebook\FacebookRedirectLoginHelper; 
use Facebook\FacebookSession; 
use Facebook\FacebookRequest; 


class Facebook { 
var $ci; 
var $helper; 
var $session; 
var $permissions; 

public function __construct() { 
$this->ci =& get_instance(); 
$this->permissions = $this->ci->config->item('permissions', 'facebook'); 

// Initialize the SDK 
FacebookSession::setDefaultApplication($this->ci->config->item('api_id', 'facebook'), $this->ci->config->item('app_secret', 'facebook')); 

// Create the login helper and replace REDIRECT_URI with your URL 
// Use the same domain you set for the apps 'App Domains' 

$this->helper = new FacebookRedirectLoginHelper($this->ci->config->item('redirect_url', 'facebook')); 

if ($this->ci->session->userdata('fb_token')) { 
$this->session = new FacebookSession($this->ci->session->userdata('fb_token')); 

// Validate the access_token to make sure it's still valid 
try { 
if (! $this->session->validate()) { 
$this->session = null; 
} 
} catch (Exception $e) { 
// Catch any exceptions 
$this->session = null; 
} 
} else { 
// No session exists 
try { 
$this->session = $this->helper->getSessionFromRedirect(); 
} catch(FacebookRequestException $ex) { 
// When Facebook returns an error 
} catch(Exception $ex) { 
// When validation fails or other local issues 
} 
} 

if ($this->session) { 
$this->ci->session->set_userdata('fb_token', $this->session->getToken()); 

$this->session = new FacebookSession($this->session->getToken()); 
} 
} 

/** 
* Returns the login URL. 
*/ 
public function login_url() { 
return $this->helper->getLoginUrl($this->permissions); 
} 

/** 
* Returns the current user's info as an array. 
*/ 
public function get_user() { 
if ($this->session) { 
/** 
* Retrieve User’s Profile Information 
*/ 
// Graph API to request user data 
$request = (new FacebookRequest($this->session, 'GET', '/me'))->execute(); 

// Get response as an array 
$user = $request->getGraphObject()->asArray(); 

return $user; 
} 
return false; 
} 
} 

Библиотека выше даст вам доступ к API Facebook SDK Graph. Он создает и сохраняет токен Facebook в сеансе, поэтому вы можете получить доступ к нему позже для вызовов API. Пример

После того, как вы загрузили библиотеку Facebook, созданную выше, вы будете иметь доступ к нему в пределах контроллеров со следующим:

$this->facebook->METHOD_NAME(); 

Например, если вы хотите получить логин URL (где предоставляется доступ для пользователей):

$login_url = $this->facebook->get_login_url(); 

$fbuserid = $this->facebook->fb_userid(); 

      $fb_user_sel_fields = ""; 
      $user_profile = $this->facebook->fb_user_profile($fbuserid, $fb_user_sel_fields); 

print_r ($ user_profile);

+1

Спасибо, я отдам. – Akshay

Смежные вопросы