示例#1
0
require_once 'vendor/autoload.php';
define('CLIENT_ID', '');
define('CLIENT_SECRET', '');
define('REDIRECT_URI', 'http://localhost/tester/vimeo-slim/login');
$app = new \Slim\Slim(array('view' => new \Slim\Views\Twig()));
$view = $app->view();
$view->parserOptions = array('debug' => true, 'cache' => dirname(__FILE__) . '/cache');
$vimeo = new \Vimeo\Vimeo(CLIENT_ID, CLIENT_SECRET);
$app->get('/token', function () use($app, $vimeo) {
    $token = $vimeo->clientCredentials();
    echo $token['body']['access_token'];
});
$app->get('/login', function () use($app, $vimeo) {
    if ($app->request->get('code') && $app->request->get('state') == $_SESSION['state']) {
        $code = $app->request->get('code');
        $token = $vimeo->accessToken($code, REDIRECT_URI);
        $access_token = $token['body']['access_token'];
        $vimeo->setToken($access_token);
        $_SESSION['user.access_token'] = $access_token;
        $page_data = array('user' => $token['body']['user']);
    } else {
        $scopes = array('public', 'private', 'interact');
        $state = substr(str_shuffle(md5(time())), 0, 10);
        $_SESSION['state'] = $state;
        $url = $vimeo->buildAuthorizationEndpoint(REDIRECT_URI, $scopes, $state);
        $page_data = array('url' => $url);
    }
    $app->render('login.php', $page_data);
});
$app->get('/me/feed', function () use($app, $vimeo) {
    $vimeo->setToken($_SESSION['user.access_token']);