Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.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 facebook api“;语法错误,意外';使用'&引用;_Php_Facebook Php Sdk - Fatal编程技术网

Php facebook api“;语法错误,意外';使用'&引用;

Php facebook api“;语法错误,意外';使用'&引用;,php,facebook-php-sdk,Php,Facebook Php Sdk,您好,我正在尝试使用facebook api验证访问令牌并获取用户数据,如电子邮件等 然而,当我测试它时,我得到了这个解析错误:语法错误,意外的'use'(T_use) 这是我目前正在使用的代码 require_once( getcwd().'/Facebook/FacebookSession.php' ); require_once( getcwd().'/Facebook/FacebookRedirectLoginHelper.php' );

您好,我正在尝试使用facebook api验证访问令牌并获取用户数据,如电子邮件等

然而,当我测试它时,我得到了这个
解析错误:语法错误,意外的'use'(T_use)

这是我目前正在使用的代码

        require_once( getcwd().'/Facebook/FacebookSession.php' );
        require_once( getcwd().'/Facebook/FacebookRedirectLoginHelper.php' );
        require_once( getcwd().'/Facebook/FacebookRequest.php' );
        require_once( getcwd().'/Facebook/FacebookResponse.php' );
        require_once( getcwd().'/Facebook/FacebookSDKException.php' );
        require_once( getcwd().'/Facebook/FacebookRequestException.php' );
        require_once( getcwd().'/Facebook/FacebookAuthorizationException.php' );
        require_once( getcwd().'/Facebook/GraphObject.php' );


        use Facebook\FacebookSession;
        use Facebook\FacebookRedirectLoginHelper;
        use Facebook\FacebookRequest;
        use Facebook\FacebookResponse;
        use Facebook\FacebookSDKException;
        use Facebook\FacebookRequestException;
        use Facebook\FacebookAuthorizationException;
        use Facebook\GraphObject;
        use Facebook\GraphUser;


        FacebookSession::setDefaultApplication('My App ID', 'My Secret');

        //   Use one of the helper classes to get a FacebookSession object.
        //   FacebookRedirectLoginHelper
        //   FacebookCanvasLoginHelper
        //   FacebookJavaScriptLoginHelper
        // or create a FacebookSession with a valid access token:
        $session = new FacebookSession('My Access Token');

        try {
            $me = (new FacebookRequest(
                $session, 'GET', '/me'
            ))->execute()->getGraphObject(GraphUser::className());
            echo $me->getName();
        } catch (FacebookRequestException $e) {
            // The Graph API returned an error
        } catch (\Exception $e) {
            // Some other error occurred
        }

关于如何修复这个错误有什么想法吗?我以前从未使用过“use”,并且我已经阅读了它的php文档,但我仍然无法理解它。

这些行是无效的

use Facebook\FacebookSession';
use Facebook\FacebookRedirectLoginHelper';
正确答案是:

use Facebook\FacebookSession;
use Facebook\FacebookRedirectLoginHelper;

这些行无效

use Facebook\FacebookSession';
use Facebook\FacebookRedirectLoginHelper';
正确答案是:

use Facebook\FacebookSession;
use Facebook\FacebookRedirectLoginHelper;

谢谢大家,我终于让它工作起来了,你必须确保下面的代码不在像ceejayoz所说的函数中。我刚把它移到我的CodeIgniter模型类之外,现在它可以工作了,谢谢

//We need to load the Facebook api library
require_once( getcwd().'/facebook-php-sdk-v4-4.0-dev/autoload.php' );
require_once( getcwd().'/facebook-php-sdk-v4-4.0-dev/src/Facebook/FacebookSession.php' );
require_once( getcwd().'/facebook-php-sdk-v4-4.0-dev/src/Facebook/FacebookRedirectLoginHelper.php' );
require_once( getcwd().'/facebook-php-sdk-v4-4.0-dev/src/Facebook/FacebookRequest.php' );
require_once( getcwd().'/facebook-php-sdk-v4-4.0-dev/src/Facebook/FacebookResponse.php' );
require_once( getcwd().'/Facebook/FacebookSDKException.php' );
require_once( getcwd().'/Facebook/FacebookRequestException.php' );
require_once( getcwd().'/Facebook/FacebookAuthorizationException.php' );
require_once( getcwd().'/Facebook/GraphObject.php' );

//Setup the facebook api for Facebook Validate
use Facebook\FacebookSession;
use Facebook\FacebookRedirectLoginHelper;
use Facebook\FacebookRequest;
use Facebook\FacebookResponse;
use Facebook\FacebookSDKException;
use Facebook\FacebookRequestException;
use Facebook\FacebookAuthorizationException;
use Facebook\GraphObject;
use Facebook\GraphUser;

谢谢大家,我终于让它工作起来了,你必须确保下面的代码不在像ceejayoz所说的函数中。我刚把它移到我的CodeIgniter模型类之外,现在它可以工作了,谢谢

//We need to load the Facebook api library
require_once( getcwd().'/facebook-php-sdk-v4-4.0-dev/autoload.php' );
require_once( getcwd().'/facebook-php-sdk-v4-4.0-dev/src/Facebook/FacebookSession.php' );
require_once( getcwd().'/facebook-php-sdk-v4-4.0-dev/src/Facebook/FacebookRedirectLoginHelper.php' );
require_once( getcwd().'/facebook-php-sdk-v4-4.0-dev/src/Facebook/FacebookRequest.php' );
require_once( getcwd().'/facebook-php-sdk-v4-4.0-dev/src/Facebook/FacebookResponse.php' );
require_once( getcwd().'/Facebook/FacebookSDKException.php' );
require_once( getcwd().'/Facebook/FacebookRequestException.php' );
require_once( getcwd().'/Facebook/FacebookAuthorizationException.php' );
require_once( getcwd().'/Facebook/GraphObject.php' );

//Setup the facebook api for Facebook Validate
use Facebook\FacebookSession;
use Facebook\FacebookRedirectLoginHelper;
use Facebook\FacebookRequest;
use Facebook\FacebookResponse;
use Facebook\FacebookSDKException;
use Facebook\FacebookRequestException;
use Facebook\FacebookAuthorizationException;
use Facebook\GraphObject;
use Facebook\GraphUser;

解决办法很简单。把你的
use
语句放在
{}
之外

例如,以下内容不正确:

<?php
if($_GET["page"]=="index.php"){
        use Facebook\FacebookSession;
}
?>

以下是正确的:

<?php
use Facebook\FacebookSession;
if($_GET["page"]=="index.php"){
   ...
}
?>

解决方案很简单。把你的
use
语句放在
{}
之外

例如,以下内容不正确:

<?php
if($_GET["page"]=="index.php"){
        use Facebook\FacebookSession;
}
?>

以下是正确的:

<?php
use Facebook\FacebookSession;
if($_GET["page"]=="index.php"){
   ...
}
?>


在FacebooksSession和FacebookRedirectLoginHelper之后删除单引号,即使删除它们,它仍然显示解析错误:语法错误,第95行的/home/username/public_html/application/models/login_model.php中出现意外的“use”(T_use),第95行是use FacebooksSession;您在执行此代码的机器上运行的PHP版本是什么?此外,您还可以
使用Facebook\FacebookSession在其中两次。此代码是否来自函数中?您不能在一个文件中使用
use
。根据我将新代码粘贴到文件中并在其上运行
php-l
,删除引号后,您的新代码没有语法错误。你确定你正在运行新版本吗?另外,如果第95行是
使用Facebook\FacebookSession
,那么之前的94行发生了什么?我们无法猜测是什么原因导致您未发布的代码中出现语法错误。请在FacebookSession和FaceBookRedirectLoginHelper之后删除单引号。即使删除它们,它仍然显示Parse error:语法错误,意外的“用法”(t_use)在第95行的/home/username/public_html/application/models/login_model.php中,第95行是使用Facebook\Facebook会话;您在执行此代码的机器上运行的PHP版本是什么?此外,您还可以
使用Facebook\FacebookSession在其中两次。此代码是否来自函数中?您不能在一个文件中使用
use
。根据我将新代码粘贴到文件中并在其上运行
php-l
,删除引号后,您的新代码没有语法错误。你确定你正在运行新版本吗?另外,如果第95行是
使用Facebook\FacebookSession
,那么之前的94行发生了什么?我们无法猜测是什么原因导致您未发布的代码中出现语法错误。