Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- // start session
- session_start();
- if( isset($_GET['sair']) ){
- session_start();
- session_destroy();
- header("Location: index.php");
- }
- // include required files form Facebook SDK
- require_once( 'Facebook/HttpClients/FacebookHttpable.php' );
- require_once( 'Facebook/HttpClients/FacebookCurl.php' );
- require_once( 'Facebook/HttpClients/FacebookCurlHttpClient.php' );
- require_once( 'Facebook/Entities/AccessToken.php' );
- require_once( 'Facebook/Entities/SignedRequest.php' );
- require_once( 'Facebook/FacebookSession.php' );
- require_once( 'Facebook/FacebookRedirectLoginHelper.php' );
- require_once( 'Facebook/FacebookRequest.php' );
- require_once( 'Facebook/FacebookResponse.php' );
- require_once( 'Facebook/FacebookSDKException.php' );
- require_once( 'Facebook/FacebookRequestException.php' );
- require_once( 'Facebook/FacebookOtherException.php' );
- require_once( 'Facebook/FacebookAuthorizationException.php' );
- require_once( 'Facebook/GraphObject.php' );
- require_once( 'Facebook/GraphSessionInfo.php' );
- use Facebook\HttpClients\FacebookHttpable;
- use Facebook\HttpClients\FacebookCurl;
- use Facebook\HttpClients\FacebookCurlHttpClient;
- use Facebook\Entities\AccessToken;
- use Facebook\Entities\SignedRequest;
- use Facebook\FacebookSession;
- use Facebook\FacebookRedirectLoginHelper;
- use Facebook\FacebookRequest;
- use Facebook\FacebookResponse;
- use Facebook\FacebookSDKException;
- use Facebook\FacebookRequestException;
- use Facebook\FacebookOtherException;
- use Facebook\FacebookAuthorizationException;
- use Facebook\GraphObject;
- use Facebook\GraphSessionInfo;
- $page_id = "xxxxxxxxxxxxxx";
- $page_name = 'xxxxxxxxxxxxxx';
- $app_id = "xxxxxxxxxxxxxx";
- $app_secret = "xxxxxxxxxxxxxx";
- // init app with app id and secret
- FacebookSession::setDefaultApplication( 'xxxxxxxxxxx','xxxxxxxxxxxxxxxxxxxxxxxxxx' );
- // login helper with redirect_uri
- $helper = new FacebookRedirectLoginHelper( 'http://www.website.com.br/app/fb-sdk/index.php' );
- // see if a existing session exists
- if ( isset( $_SESSION ) && isset( $_SESSION['fb_token'] ) ) {
- // create new session from saved access_token
- $session = new FacebookSession( $_SESSION['fb_token'] );
- // validate the access_token to make sure it's still valid
- try {
- if ( !$session->validate() ) {
- $session = null;
- }
- } catch ( Exception $e ) {
- // catch any exceptions
- $session = null;
- }
- }
- if ( !isset( $session ) || $session === null ) {
- // no session exists
- try {
- $session = $helper->getSessionFromRedirect();
- } catch( FacebookRequestException $ex ) {
- // When Facebook returns an error
- // handle this better in production code
- print_r( $ex );
- } catch( Exception $ex ) {
- // When validation fails or other local issues
- // handle this better in production code
- print_r( $ex );
- }
- }
- // see if we have a session
- if ( isset( $session ) ) {
- // save the session
- $_SESSION['fb_token'] = $session->getToken();
- // create a session using saved token or the new one we generated at login
- $session = new FacebookSession( $session->getToken() );
- // graph api request for user data
- $request = new FacebookRequest( $session, 'GET', '/me/feed' );
- $response = $request->execute();
- // get response
- $graphObject = $response->getGraphObject()->asArray();
- /***************************************/
- // post to page
- $page_post = (new FacebookRequest( $session, 'POST', '/'. $page_id .'/feed', array(
- //'access_token' => $_SESSION['fb_token'],
- 'name' => '(#'.rand(99,99999999).')Facebook API: Posting As A Page using Graph API v2.x and PHP SDK 4.0.x',
- '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/',
- '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.',
- 'message' => 'Check out my new blog post!',
- ) ))->execute()->getGraphObject()->asArray();
- // return post_id
- print_r( $page_post );
- echo "<pre>$RESPONSE";
- print_r( $response );
- echo "</pre>";
- /***************************************/
- // print profile data
- echo '<pre>' . print_r( $graphObject, 1 ) . '</pre>';
- // print logout url using session and redirect_uri (logout.php page should destroy the session)
- echo '<a href="' . $helper->getLogoutUrl( $session, 'http://www.website.com.br/app/fb-sdk/index.php?sair=true' ) . '">Logout</a>';
- } else {
- // show login url
- echo '<a href="' . $helper->getLoginUrl(
- array(
- 'email',
- 'user_friends',
- 'manage_pages', 'publish_actions',
- "scope" => "publish_stream, manage_pages, publish_actions"
- )
- ) . '">Login</a>';
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement