Advertisement
Guest User

Untitled

a guest
Oct 21st, 2014
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.83 KB | None | 0 0
  1. <?php
  2.  
  3. // start session
  4. session_start();
  5.  
  6. if( isset($_GET['sair']) ){
  7.   session_start();
  8.   session_destroy();
  9.   header("Location: index.php");
  10.  
  11. }
  12.  
  13. // include required files form Facebook SDK
  14.  
  15. require_once( 'Facebook/HttpClients/FacebookHttpable.php' );
  16. require_once( 'Facebook/HttpClients/FacebookCurl.php' );
  17. require_once( 'Facebook/HttpClients/FacebookCurlHttpClient.php' );
  18.  
  19. require_once( 'Facebook/Entities/AccessToken.php' );
  20. require_once( 'Facebook/Entities/SignedRequest.php' );
  21.  
  22. require_once( 'Facebook/FacebookSession.php' );
  23. require_once( 'Facebook/FacebookRedirectLoginHelper.php' );
  24. require_once( 'Facebook/FacebookRequest.php' );
  25. require_once( 'Facebook/FacebookResponse.php' );
  26. require_once( 'Facebook/FacebookSDKException.php' );
  27. require_once( 'Facebook/FacebookRequestException.php' );
  28. require_once( 'Facebook/FacebookOtherException.php' );
  29. require_once( 'Facebook/FacebookAuthorizationException.php' );
  30. require_once( 'Facebook/GraphObject.php' );
  31. require_once( 'Facebook/GraphSessionInfo.php' );
  32.  
  33. use Facebook\HttpClients\FacebookHttpable;
  34. use Facebook\HttpClients\FacebookCurl;
  35. use Facebook\HttpClients\FacebookCurlHttpClient;
  36.  
  37. use Facebook\Entities\AccessToken;
  38. use Facebook\Entities\SignedRequest;
  39.  
  40. use Facebook\FacebookSession;
  41. use Facebook\FacebookRedirectLoginHelper;
  42. use Facebook\FacebookRequest;
  43. use Facebook\FacebookResponse;
  44. use Facebook\FacebookSDKException;
  45. use Facebook\FacebookRequestException;
  46. use Facebook\FacebookOtherException;
  47. use Facebook\FacebookAuthorizationException;
  48. use Facebook\GraphObject;
  49. use Facebook\GraphSessionInfo;
  50.  
  51.  
  52.  
  53. $page_id    = "xxxxxxxxxxxxxx";
  54. $page_name  = 'xxxxxxxxxxxxxx';
  55. $app_id     = "xxxxxxxxxxxxxx";
  56. $app_secret = "xxxxxxxxxxxxxx";
  57.  
  58. // init app with app id and secret
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65. FacebookSession::setDefaultApplication( 'xxxxxxxxxxx','xxxxxxxxxxxxxxxxxxxxxxxxxx' );
  66.  
  67. // login helper with redirect_uri
  68. $helper = new FacebookRedirectLoginHelper( 'http://www.website.com.br/app/fb-sdk/index.php' );
  69.  
  70. // see if a existing session exists
  71. if ( isset( $_SESSION ) && isset( $_SESSION['fb_token'] ) ) {
  72.   // create new session from saved access_token
  73.   $session = new FacebookSession( $_SESSION['fb_token'] );
  74.  
  75.   // validate the access_token to make sure it's still valid
  76.   try {
  77.     if ( !$session->validate() ) {
  78.       $session = null;
  79.     }
  80.   } catch ( Exception $e ) {
  81.     // catch any exceptions
  82.     $session = null;
  83.   }
  84. }  
  85.  
  86. if ( !isset( $session ) || $session === null ) {
  87.   // no session exists
  88.  
  89.   try {
  90.     $session = $helper->getSessionFromRedirect();
  91.   } catch( FacebookRequestException $ex ) {
  92.     // When Facebook returns an error
  93.     // handle this better in production code
  94.     print_r( $ex );
  95.   } catch( Exception $ex ) {
  96.     // When validation fails or other local issues
  97.     // handle this better in production code
  98.     print_r( $ex );
  99.   }
  100.  
  101. }
  102.  
  103. // see if we have a session
  104. if ( isset( $session ) ) {
  105.  
  106.   // save the session
  107.   $_SESSION['fb_token'] = $session->getToken();
  108.   // create a session using saved token or the new one we generated at login
  109.   $session = new FacebookSession( $session->getToken() );
  110.  
  111.   // graph api request for user data
  112.   $request = new FacebookRequest( $session, 'GET', '/me/feed' );
  113.   $response = $request->execute();
  114.   // get response
  115.   $graphObject = $response->getGraphObject()->asArray();
  116.  
  117.  
  118.   /***************************************/
  119.   // post to page
  120.  
  121.  
  122.  
  123.   $page_post = (new FacebookRequest( $session, 'POST', '/'. $page_id .'/feed', array(
  124.     //'access_token' => $_SESSION['fb_token'],
  125.     'name' => '(#'.rand(99,99999999).')Facebook API: Posting As A Page using Graph API v2.x and PHP SDK 4.0.x',
  126.     'link' => 'https://www.webniraj.com/2014/08/23/facebook-api-posting-as-a-page-using-graph-api-v2-x-and-php-sdk-4-0-x/',
  127.     'caption' => 'The Facebook API lets you post to Pages you administrate via the API. This tutorial shows you how to achieve this using the Facebook PHP SDK v4.0.x and Graph API 2.x.',
  128.     'message' => 'Check out my new blog post!',
  129.   ) ))->execute()->getGraphObject()->asArray();
  130.  
  131. // return post_id
  132. print_r( $page_post );
  133.  
  134. echo "<pre>$RESPONSE";
  135. print_r( $response );
  136. echo "</pre>";
  137.   /***************************************/
  138.  
  139.   // print profile data
  140.   echo '<pre>' . print_r( $graphObject, 1 ) . '</pre>';
  141.  
  142.   // print logout url using session and redirect_uri (logout.php page should destroy the session)
  143.   echo '<a href="' . $helper->getLogoutUrl( $session, 'http://www.website.com.br/app/fb-sdk/index.php?sair=true' ) . '">Logout</a>';
  144.  
  145. } else {
  146.   // show login url
  147.   echo '<a href="' . $helper->getLoginUrl(
  148.               array(
  149.                       'email',
  150.                       'user_friends',
  151.                       'manage_pages', 'publish_actions',
  152.                       "scope" => "publish_stream, manage_pages, publish_actions"
  153.                     )
  154.                 ) . '">Login</a>';
  155. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement