【发布时间】:2013-11-25 19:39:15
【问题描述】:
我根本不明白整个 OAuth 身份验证的工作原理,我几乎被困住了。我正在尝试让用户使用 Google PHP Client API 向我的服务器验证他/她的 YouTube 帐户。
这是我当前的代码:
<?php
require_once app_path().'/google-apis/Google_Client.php';
require_once app_path().'/google-apis/contrib/Google_YouTubeService.php';
class SignupController extends BaseController {
public function showSignupForm() {
$client = new Google_Client();
$client->setClientId('CLIENTID');
$client->setClientSecret('CLIENTSECRET');
$client->setAccessType('offline');
$client->setDeveloperKey('DEVKEY');
$youtube = new Google_YoutubeService($client);
$client->authenticate(Input::get('code'));
$token = json_decode($client->getAccessToken());
return View::make('signup')->with('google_token', $token->access_token);
}
public function getYTAccess() {
$client = new Google_Client();
$client->setClientId('CLIENTID');
$client->setClientSecret('CLIENTSECRET');
$client->setAccessType('offline');
$client->setDeveloperKey('DEVKEY');
$client->setRedirectUri('REDIRECT_URI');
$youtube = new Google_YoutubeService($client);
$authUrl = $client->createAuthUrl();
return View::make('connect_youtube')->with('authUrl', $authUrl);;
}
}
?>
这是我正在构建的基于 Laravel 的应用程序中 SignupController 的代码。相关路线如下:
Route::get('signup/connect_youtube/return', 'SignupController@showSignupForm');
Route::get('signup', 'SignupController@getYTAccess');
在重定向到我的应用程序后,我只收到一个无效请求错误,我知道它与访问令牌有关,只是不知道是什么。
任何帮助将不胜感激。
谢谢
托拜厄斯·廷佩 (显然省略了秘密)
【问题讨论】:
标签: php oauth laravel google-api google-api-php-client