Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“为什么?”;使用「;包含在php中时不工作?_Php_Facebook - Fatal编程技术网

“为什么?”;使用「;包含在php中时不工作?

“为什么?”;使用「;包含在php中时不工作?,php,facebook,Php,Facebook,我正在更新我的应用程序以使用新的PHP SDK,但我遇到了以下问题: 我想在一个单独的php文件中处理Facebook的事情,以保持整洁。 例如,这是我的fb.php页面: <?php require_once('sdk/autoload.php'); use Facebook\HttpClients\FacebookHttpable; use Facebook\HttpClients\FacebookCurl; use Facebook\HttpClients\FacebookCurl

我正在更新我的应用程序以使用新的PHP SDK,但我遇到了以下问题: 我想在一个单独的php文件中处理Facebook的事情,以保持整洁。 例如,这是我的fb.php页面:

<?php
require_once('sdk/autoload.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;

// start session
session_start();

// init app with app id and secret
FacebookSession::setDefaultApplication(...,...);

// 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;
    }
}

// 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() );

//logged in

} else {

    //user is not logged in
    ?>
    <script>window.location="...link to login page...";</script>
<?php
    exit;
}

包含
fb.php的
文件位于不同的范围内,因此无法使用该导入。
您必须再次指定它们


您可以阅读更多信息。

谢谢,这正是我想要的。如果您移动
$request=newfacebookrequest($session,'GET','me')从testing.php到fb.php?您可以在testing.php中访问它吗?
<?php
require_once('fb.php');

$request = new FacebookRequest( $session, 'GET', '/me' );
$response = $request->execute();
$graphObject = $response->getGraphObject()->asArray();

echo "Welcome, ".$graphObject['first_name'];