调用未定义的方法SocialiteProviders \ Manager \ ServiceProvider :: driver()

时间:2016-01-15 11:39:36

标签: php laravel laravel-5

我正在研究Laravel 5.2中的api部分并尝试从Strava中获取详细信息。如本链接http://socialiteproviders.github.io/providers/strava所述,我已完成所有步骤。在控制器中,我编写了一个函数来传递用户的访问令牌。这是我使用公共功能的功能

<?php

namespace App\Http\Controllers\Api\v1;
use Illuminate\Http\Request;
use Auth;
use Socialite;
use App\Models\UserTrackerSettings;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class StravaController extends Controller
{
    /**
    * Get the user by token
    *
    * @return \Illuminate\Http\Response
    */
    public function getTrackerAccess()
    {
        $trackerDriver = Socialite::driver('strava');
        $getToken = UserTrackerSettings::where('tracker_source_name', 'strava')
                        ->where('user_id', Auth::user()->id)->first();

        $access_token = $getToken->access_token;

        return Socialite::getUserByToken($access_token);
    }
}

但是当我在邮递员中运行链接时,我收到此错误

  

StravaController.php第23行中的FatalErrorException:   调用未定义的方法SocialiteProviders \ Manager \ ServiceProvider :: driver()

如果有人可以帮助我会很棒。提前谢谢!

1 个答案:

答案 0 :(得分:0)

确保实际的driver在那里。之后,由于我在那里看不到任何课堂内容,你可能需要像\App\Socialite::driver('strava')\Socialite::driver('strava')那样打电话给那个班级,我只是不知道那是不是控制器的完整代码与否。