Using PHP Composer For Facebook API



我有一个使用facebook api 2.0版本的工作网站,但有一些问题。我意识到我的一些调用被低估了,所以我设置了composer并包含了facebook api。

我认为我的问题是我如何在我的网站包括api。

我使用require 'facebookAPI/src/facebook.php';现在我使用composer,这不起作用。

文件路径是,vendor/facebook/php-sdk-v4/src/facebook/这里没有facebook.php文件。

如何添加api?如果facebook。php不存在了?我是否使用不同的文件来实现不同的目标?最后. .我可以通过

使用自动装填机吗?
require 'vendor/autoload.php';
如果还有什么我应该从那里做的吗?

这是我的完整的当前代码,只是显示一个空白页时,页面加载。

<?php       
require 'vendor/autoload.php';
$facebook = new Facebook(array(
  'appId'  => 'foo foo foo',
  'secret' => 'foo foo foo',
));
$user = $facebook->getUser(); 
if ($user) {
  try {
    $user_info          = $facebook->api('/' . $user);
    $user_tags          = $facebook->api('/' . $user . '/tagged_places');
    $friends            = $facebook->api('/' . $user . '/friends');
    $user_feed          = $facebook->api('/' . $user . '/feed/?with=location');
    $friends_locations  = $facebook->api('/' . $user . '/friends/?fields=location');
    $user_checkins      = $facebook->api('/' . $user . '/checkins');
    $friends_checkins   = $facebook->api('/' . $user . '/friends/checkins');
  } catch (FacebookApiException $e) {
    error_log($e);
    $user = null;
  }
}
if ($user) {
$params = array( 'next' => 'http://www.wuno.com/sandbox/actions/fbLogout.php' );
$logoutUrl = $facebook->getLogoutUrl($params);
} else {
  $loginUrl = $facebook->getLoginUrl(array(
    'scope' => 'user_tagged_places, email, publish_actions, publish_stream, user_birthday, user_work_history, user_hometown, user_photos, user_about_me, user_checkins, friends_checkins, user_location, friends_location, read_stream, user_status, friends_status')
  );
}
?>

Facebook api v-4使用namespaces

namespace
A namespace is a way of grouping code that exists across multiple files without having a naming collision. That is, you can have the same named class in two different places if they are encapsulated within namespaces.

所以在上面问题的代码中,FB API装载了vendor,并像这样调用,

require 'vendor/autoload.php';

现在添加了FB API,您只需要使用namespace的类,无论您想要完成什么。

在我的情况下,我抛弃了vendor,像这样添加了这些类,

  // include required classes from Facebook SDK
require_once( 'facebook/src/Facebook/FacebookHttpable.php' );
require_once( 'facebook/src/Facebook/FacebookCurl.php' );
require_once( 'facebook/src/Facebook/FacebookCurlHttpClient.php' );
require_once( 'facebook/src/Facebook/FacebookSession.php' );
require_once( 'facebook/src/Facebook/FacebookRedirectLoginHelper.php' );
require_once( 'facebook/src/Facebook/FacebookRequest.php' );
require_once( 'facebook/src/Facebook/FacebookResponse.php' );
require_once( 'facebook/src/Facebook/FacebookSDKException.php' );
require_once( 'facebook/src/Facebook/FacebookRequestException.php' );
require_once( 'facebook/src/Facebook/FacebookOtherException.php' );
require_once( 'facebook/src/Facebook/FacebookAuthorizationException.php' );
require_once( 'facebook/src/Facebook/GraphObject.php' );
require_once( 'facebook/src/Facebook/GraphSessionInfo.php' );
// Called class with namespace
use FacebookFacebookHttpable;
use FacebookFacebookCurl;
use FacebookFacebookCurlHttpClient;
use FacebookFacebookSession;
use FacebookFacebookRedirectLoginHelper;
use FacebookFacebookRequest;
use FacebookFacebookResponse;
use FacebookFacebookSDKException;
use FacebookFacebookRequestException;
use FacebookFacebookOtherException;
use FacebookFacebookAuthorizationException;
use FacebookGraphObject;
use FacebookGraphSessionInfo;

请注意,这是而不是/完成的

你想要用FB API实现的每个任务可能需要不同的类,然后包括在我的答案中。

相关内容

  • 没有找到相关文章

最新更新