Created
April 30, 2012 17:13
-
-
Save hubgit/2560093 to your computer and use it in GitHub Desktop.
Upload a PDF file to Google Drive
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
require 'google-api/apiClient.php'; | |
require 'google-api/contrib/apiOauth2Service.php'; | |
require 'google-api/contrib/apiDriveService.php'; | |
$pdfFile = 'test.pdf'; | |
// API Console: https://code.google.com/apis/console/ | |
// Create an API project ("web applications") and put the client id and client secret in config.ini. | |
// Set up the Drive SDK in the API console. | |
// Create a Chrome extension, set the "container" and "api_console_project_id" parameters, and install it. | |
$config = parse_ini_file('config.ini'); // client_id, client_secret | |
// initialise the client | |
$client = new apiClient(); | |
$client->setUseObjects(true); | |
$client->setAuthClass('apiOAuth2'); | |
$client->setScopes(array('https://www.googleapis.com/auth/drive.file')); | |
$client->setClientId($config['client_id']); | |
$client->setClientSecret($config['client_secret']); | |
$client->setRedirectUri($config['client_uri']); | |
$client->setAccessToken(authenticate($client)); | |
// initialise the Google Drive service | |
$service = new apiDriveService($client); | |
// create and upload a new Google Drive file, including the data | |
try { | |
$file = new DriveFile; | |
$file->setTitle(basename($pdfFile)); | |
$file->setMimeType('application/pdf'); | |
$result = $service->files->insert($file, array('data' => file_get_contents($pdfFile), 'mimeType' => 'application/pdf')); | |
} | |
catch (Exception $e) { | |
print $e->getMessage(); | |
} | |
print_r($result); | |
function authenticate($client, $file = 'token.json'){ | |
if (file_exists($file)) return file_get_contents($file); | |
$_GET['code'] = ''; // insert the verification code here | |
// print the authentication URL | |
if (!$_GET['code']) { | |
exit($client->createAuthUrl(array('https://www.googleapis.com/auth/drive.file')) . "\n"); | |
} | |
file_put_contents($file, $client->authenticate()); | |
exit('Authentication saved to token.json - now run this script again.'); | |
} |
Hi, I need to setup Google Drive API for one of my project and following the documentation leads me nowhere. The API which I am getting do not have files which are included in the code. Can anyone guide me with the code and API as I am new to APIs.
I need to create a system wherein public users will submit their assignments by uploading Word/PDF files which will be transferred to common Google Drive of teacher and link of each uploaded file will be generated.
Please suggest. Thanks.
Now if only I could find this for php not wrapped in the google-api-php-client
require 'google-api/apiClient.php';
require 'google-api/contrib/apiOauth2Service.php';
require 'google-api/contrib/apiDriveService.php';
Where i can purchase php files?
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
can you please update the topic