Ian Simmons launched Kicking the Seat in 2009, one week after seeing Nora Ephron’s Julie & Julia. His wife proposed blogging as a healthier outlet for his anger than red-faced, twenty-minute tirades (Ian is no longer allowed to drive home from the movies).
The Kicking the Seat Podcast followed three years later and, despite its “undiscovered gem” status, Ian thoroughly enjoys hosting film critic discussions, creating themed shows, and interviewing such luminaries as Gaspar Noé, Rachel Brosnahan, Amy Seimetz, and Richard Dreyfuss.
Ian is a member of the Chicago Film Critics Association. He also has a family, a day job, and conflicted feelings about referring to himself in the third person.
// Redirect to authorization URL $authUrl = $client->createAuthUrl(); header('Location: ' . filter_var($authUrl, FILTER_SANITIZE_URL)); // After callback, exchange code for tokens $accessToken = $client->fetchAccessTokenWithAuthCode($_GET['code']); $client->setAccessToken($accessToken);
For backend cron jobs or scripts without user interaction: google drive api php
$chunkSize = 256 * 1024; // 256KB per chunk $client->setDefer(true); $request = $service->files->create($fileMetadata); $media = new Google_Http_MediaFileUpload( $client, $request, 'application/pdf', fopen('/path/largefile.pdf', 'r'), true, $chunkSize ); header('Location: ' . filter_var($authUrl
// Save refresh token for future use if (!isset($accessToken['refresh_token'])) // Handle missing refresh token (may require revoking previous tokens) // After callback
require_once 'vendor/autoload.php'; $client = new Google\Client(); $client->setApplicationName('Drive API PHP Demo'); $client->setScopes(Google_Service_Drive::DRIVE_FILE); $client->setAuthConfig('credentials.json'); $client->setAccessType('offline'); $client->setPrompt('select_account consent'); 3.1 OAuth 2.0 for Installed/Web Apps The system must obtain and refresh tokens programmatically:
$client->useApplicationDefaultCredentials(); $client->addScope(Google_Service_Drive::DRIVE); 4.1 Listing Files
while (!$media->getResumeUri()) $status = $media->nextChunk();