summaryrefslogtreecommitdiffstats
path: root/includes/google-api-php-client-master/examples/fileupload.php
diff options
context:
space:
mode:
authorSnap <snapwilliam@gmail.com>2015-04-16 14:51:26 -0700
committerSnap <snapwilliam@gmail.com>2015-04-16 14:51:26 -0700
commit5c7f2f17f9c471d306955df457c7cab4e5c6ed3b (patch)
tree0fe6d049f1af552af6a74d264a3f571cfdb1ee7c /includes/google-api-php-client-master/examples/fileupload.php
parentd0b9b771a876922afdf00b2c55d5e1388a4ea2a3 (diff)
downloadpathery-5c7f2f17f9c471d306955df457c7cab4e5c6ed3b.tar.xz
Google's OpenID Connect method
$google_client_id & $google_client_secret must be added to db.inc.php!
Diffstat (limited to 'includes/google-api-php-client-master/examples/fileupload.php')
-rw-r--r--includes/google-api-php-client-master/examples/fileupload.php135
1 files changed, 135 insertions, 0 deletions
diff --git a/includes/google-api-php-client-master/examples/fileupload.php b/includes/google-api-php-client-master/examples/fileupload.php
new file mode 100644
index 0000000..03a928e
--- /dev/null
+++ b/includes/google-api-php-client-master/examples/fileupload.php
@@ -0,0 +1,135 @@
+<?php
+/*
+ * Copyright 2011 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+include_once "templates/base.php";
+session_start();
+
+require_once realpath(dirname(__FILE__) . '/../src/Google/autoload.php');
+
+/************************************************
+ We'll setup an empty 20MB file to upload.
+ ************************************************/
+DEFINE("TESTFILE", 'testfile.txt');
+if (!file_exists(TESTFILE)) {
+ $fh = fopen(TESTFILE, 'w');
+ fseek($fh, 1024*1024*20);
+ fwrite($fh, "!", 1);
+ fclose($fh);
+}
+
+/************************************************
+ ATTENTION: Fill in these values! Make sure
+ the redirect URI is to this page, e.g:
+ http://localhost:8080/fileupload.php
+ ************************************************/
+$client_id = '<YOUR_CLIENT_ID>';
+$client_secret = '<YOUR_CLIENT_SECRET>';
+$redirect_uri = '<YOUR_REDIRECT_URI>';
+
+$client = new Google_Client();
+$client->setClientId($client_id);
+$client->setClientSecret($client_secret);
+$client->setRedirectUri($redirect_uri);
+$client->addScope("https://www.googleapis.com/auth/drive");
+$service = new Google_Service_Drive($client);
+
+if (isset($_REQUEST['logout'])) {
+ unset($_SESSION['upload_token ']);
+}
+
+if (isset($_GET['code'])) {
+ $client->authenticate($_GET['code']);
+ $_SESSION['upload_token'] = $client->getAccessToken();
+ $redirect = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'];
+ header('Location: ' . filter_var($redirect, FILTER_SANITIZE_URL));
+}
+
+if (isset($_SESSION['upload_token']) && $_SESSION['upload_token']) {
+ $client->setAccessToken($_SESSION['upload_token']);
+ if ($client->isAccessTokenExpired()) {
+ unset($_SESSION['upload_token']);
+ }
+} else {
+ $authUrl = $client->createAuthUrl();
+}
+
+/************************************************
+ If we're signed in then lets try to upload our
+ file.
+ ************************************************/
+if ($client->getAccessToken()) {
+ $file = new Google_Service_Drive_DriveFile();
+ $file->title = "Big File";
+ $chunkSizeBytes = 1 * 1024 * 1024;
+
+ // Call the API with the media upload, defer so it doesn't immediately return.
+ $client->setDefer(true);
+ $request = $service->files->insert($file);
+
+ // Create a media file upload to represent our upload process.
+ $media = new Google_Http_MediaFileUpload(
+ $client,
+ $request,
+ 'text/plain',
+ null,
+ true,
+ $chunkSizeBytes
+ );
+ $media->setFileSize(filesize(TESTFILE));
+
+ // Upload the various chunks. $status will be false until the process is
+ // complete.
+ $status = false;
+ $handle = fopen(TESTFILE, "rb");
+ while (!$status && !feof($handle)) {
+ $chunk = fread($handle, $chunkSizeBytes);
+ $status = $media->nextChunk($chunk);
+ }
+
+ // The final value of $status will be the data from the API for the object
+ // that has been uploaded.
+ $result = false;
+ if ($status != false) {
+ $result = $status;
+ }
+
+ fclose($handle);
+}
+echo pageHeader("File Upload - Uploading a large file");
+if (strpos($client_id, "googleusercontent") == false) {
+ echo missingClientSecretsWarning();
+ exit;
+}
+?>
+<div class="box">
+ <div class="request">
+<?php
+if (isset($authUrl)) {
+ echo "<a class='login' href='" . $authUrl . "'>Connect Me!</a>";
+}
+?>
+ </div>
+
+ <div class="shortened">
+<?php
+if (isset($result) && $result) {
+ var_dump($result);
+}
+?>
+ </div>
+</div>
+<?php
+echo pageFooter(__FILE__);