1

我正在尝试制作有关如何将 Facebook SDK v5 与 Laravel 5.0 集成的指南。以前有人做过吗?

首先,我在 composer.json 中添加了“facebook/php-sdk-v4”:“~5.0”,请参见此处的文档:https ://developers.facebook.com/docs/php/gettingstarted

{
  "require" : {
    "facebook/php-sdk-v4" : "~5.0"
  }
}

下一步 composer 在 CMD 中安装

composer install

接下来我添加了一条路线:

Route::get('/test', 'Facebookintegration@test');

接下来我返回了一个视图:

public function test() {

    return view('testpage');

}

接下来我尝试在视图测试页中运行信息

<?php

require_once URL::asset('vendor/autoload.php');

$fb = new Facebook\Facebook([
'app_id' => 'YOUR_APP_ID',
'app_secret' => 'YOUR_APP_SECRET',
'default_graph_version' => 'v2.5',
]);

?>

这是问题开始的地方,这是我当前的错误

main(): Failed opening required 'http://localhost/fbintegration/vendor/autoload.php' (include_path='.;C:\php\pear')

有人知道如何正确链接文件吗?

4

2 回答 2

1

https://github.com/SammyK/LaravelFacebookSdk

将此包用于 Laravel。

下面的代码是从我的数据库中检索令牌后发布到 facebook

路线

  Route::post('schedulePost', 'HomeController@ exampelSchedulePost');

作曲家.json

 "require": {
            "sammyk/laravel-facebook-sdk": "^3.0"
        }

提供者和别名,参考文档

'providers' => [
    SammyK\LaravelFacebookSdk\LaravelFacebookSdkServiceProvider::class,
    ];

'aliases' => [
    'Facebook' => SammyK\LaravelFacebookSdk\FacebookFacade::class,
    ];



public function exampelSchedulePost(Request $request)
      { 
         $postPermission = 0;
         $profileToken = DB::table('profiles')->where('user_id',Auth::user()->id)->first();
          $fb = App::make('SammyK\LaravelFacebookSdk\LaravelFacebookSdk');
         if($profileToken){
          try {
            $response = $fb->get('/'.$profileToken->uid.'/permissions', $profileToken->access_token);
            $permissions = $response->getGraphEdge();
            foreach ($permissions as $item) {
              if($item['permission'] == 'publish_actions'){
                if($item['status']== 'declined'){
                  $login_link = $fb->getLoginUrl(['email,publish_actions'], 'http://www.URL.com/facebook/callback');
                  return redirect($login_link);
                  //Get Permission again
                }
              }
            }
          } catch(\Facebook\Exceptions\FacebookSDKException $e) {
            dd($e->getMessage());
          }
         }else{
           $login_link = $fb->getLoginUrl(['email,publish_actions'], 'http://www.URL.com/facebook/callback');
           return redirect($login_link);
         }
于 2016-05-23T08:06:33.640 回答
0

当您想在视图中要求文件时,它看起来像路径问题。

您可以在查看模板中尝试这样的操作:

require_once ($app['path.base'].'/vendor/facebook/graph-sdk/src/Facebook/autoload.php');

而且我相信您可以毫无问题地获得 Facebook\Facebook 课程。

于 2016-09-01T05:58:28.193 回答