Php 没有Composer的Facebook API v2.0?

Php 没有Composer的Facebook API v2.0?,php,facebook-graph-api,Php,Facebook Graph Api,我不是一个死硬的程序员,我不再做太多,但我想我最好更新一些代码,以便在Facebook内部实际工作,因为新版本的API即将面世,我仍然在我所有的应用程序上使用1.0 有没有一种不用编写器就可以使用新API和新PHPSDKV4.0的方法?我很少使用API(除了登录),所以我不需要太多。Facebook为我提供了一个很好的环境来创建应用程序,然后邀请我的朋友使用它们。他们处理所有的登录和用户标识,所以我不必这样做 我尝试了一点了解新的API,我注意到它比以前复杂了一点。以前,我所要做的就是需要fac

我不是一个死硬的程序员,我不再做太多,但我想我最好更新一些代码,以便在Facebook内部实际工作,因为新版本的API即将面世,我仍然在我所有的应用程序上使用1.0

有没有一种不用编写器就可以使用新API和新PHPSDKV4.0的方法?我很少使用API(除了登录),所以我不需要太多。Facebook为我提供了一个很好的环境来创建应用程序,然后邀请我的朋友使用它们。他们处理所有的登录和用户标识,所以我不必这样做

我尝试了一点了解新的API,我注意到它比以前复杂了一点。以前,我所要做的就是需要facebook.php文件,添加几行代码和presto!现在不是这样(或者我只是错过了一些非常简单的事情)

我希望避免使用composer,因为这需要在服务器上安装它。我个人并不介意使用新的东西(以前从未使用过),但我的一些东西是给其他人的,要求他们也这么做并不容易

如果有人能帮忙,那就太好了。谢谢

如果有帮助,这是我当前的(1.0版)登录代码。我需要让它与v2.0一起工作

require_once '../fb-php-sdk/src/facebook.php';

$facebook_id=false;

$facebook=new Facebook(array('appId'=>$id,'secret'=>$secret));
$facebook_id=$facebook->getUser();

if($facebook_id)
{
  try
{
    $user_data['facebook']=$facebook->api('/me');
  } 
  catch(FacebookApiException $e) 
  {
    error_log($e);
    $facebook_id=false;
  }
}

if(!$facebook_id)
{ ?>    
  <script>
    top.location.href="<?php echo $facebook->getLoginUrl(array('redirect_uri'=>$url)); ?>";
  </script> <?php

  exit();
}
require_once'../fb php sdk/src/facebook.php';
$facebook_id=false;
$facebook=newfacebook(数组('appId'=>$id,'secret'=>$secret));
$facebook_id=$facebook->getUser();
如果($facebook\u id)
{
尝试
{
$user_data['facebook']=$facebook->api('/me');
} 
捕获(FacebookApiException$e)
{
错误日志($e);
$facebook_id=false;
}
}
如果(!$facebook\u id)
{ ?>    
top.location.href=“”;

我使用
facebookapiv4
进行了一次工作登录,并对其进行了简化,以帮助您启动并运行它

为了简单起见,请忘记您一直在使用的内容,转到此链接并下载该文件

https://github.com/wuno/Facebook-Login-Example
这是一个包含Facebook V-4 APi的简单登录

您所要做的就是将文件部署到服务器上,您可以在几分钟内完成此登录

更改三行代码

您需要更改的每一行上面都有此注释

// EDIT THIS LINE ********************************************
将整个文件夹上载到服务器,不要更改任何文件路径

在处创建新应用程序以获取应用程序ID和应用程序机密

更改index.php文件中的3行代码


在设置查看网站后,转到

发现我对Use语句做了一些错误。我以前从未见过它们,也没有意识到它们在调用SDK的同一文件中的重要性。以下代码按照我需要的方式工作,无需编写器:

<?php

session_start();

require_once 'autoload.php';

use Facebook\Entities\AccessToken;
use Facebook\Entities\SignedRequest;

use Facebook\HttpClients\FacebookCurl;
use Facebook\HttpClients\FacebookCurlHttpClient;
use Facebook\HttpClients\FacebookHttpable;
use Facebook\HttpClients\FacebookStream;
use Facebook\HttpClients\FacebookStreamHttpClient;

use Facebook\FacebookAuthorizationException;
use Facebook\FacebookCanvasLoginHelper;
use Facebook\FacebookClientException;
use Facebook\FacebookJavaScriptLoginHelper;
use Facebook\FacebookOtherException;
use Facebook\FacebookPageTabHelper;
use Facebook\FacebookPermissionException;
use Facebook\FacebookRedirectLoginHelper;
use Facebook\FacebookRequest;
use Facebook\FacebookRequestException;
use Facebook\FacebookResponse;
use Facebook\FacebookSDKException;
use Facebook\FacebookServerException;
use Facebook\FacebookSession;
use Facebook\FacebookSignedRequestFromInputHelper;
use Facebook\FacebookThrottleException;

use Facebook\GraphAlbum;
use Facebook\GraphLocation;
use Facebook\GraphObject;
use Facebook\GraphPage;
use Facebook\GraphSessionInfo;
use Facebook\GraphUser;
use Facebook\GraphUserPage;


FacebookSession::setDefaultApplication($app_info['id'],$app_info['secret']);

$helper=new FacebookCanvasLoginHelper();

try
{
  $session=$helper->getSession();
} 
catch(FacebookRequestException $ex) 
{
  echo "Facebook Error: ".$ex->getMessage();
  exit();
}
catch(\Exception $ex)
{
  echo "Validation Failed: ".$ex->getMessage();
  exit();
}

if(!isset($session))
{ ?>
  <script>
    top.location.href="https://www.facebook.com/dialog/oauth?client_id=<?php echo $app_info['id']; ?>&redirect_uri=<?php echo $app_info['canvas_url']; ?>";
  </script> <?php

  exit();
}

$facebook_data=(new FacebookRequest($session,'GET','/me'))->execute()->getGraphObject(GraphUser::className());

?>

top.location.href=”https://www.facebook.com/dialog/oauth?client_id=&redirect_uri=";

你遇到了什么问题?我需要重新表述几件事…我的错。此外,我似乎不知道如何将新的SDK文件实际包含到页面中。使用简单的“require”命令似乎不起作用。我找到你了,兄弟,首先给我你下载新api的链接,你正在使用的api是从github获得的,不是吗他买了新的SDK。