я пытаюсь получить файлы на Google Дискекак использовать Google диск с API сервером
я выяснить, чтобы использовать пример, чтобы получить список файлов с с «ID клиента OAuth 2,0»
раз я взять на себя «tokenID» она работает только один раз, и я думаю, что это, как это предполагают, чтобы работать,
я хочу использовать диск API, чтобы получить файлы только на моем счету
так я буду использование в Backend сервере
однако есть другой тип авторизации API для сервера в console.developers.google и я думаю, что будет полезно для моей идеи, но не знаете, как использовать его
вот другой пример я говорить о с помощью маркеров
нового обновления на коде я установить автономный доступ Примечания: используется печенье только для примера и тестирование
нового пробл эм работать в первый раз, когда я затем обновить снова просто показать код без какого-либо результата или ошибки
<?php
function retrieveAllFiles($service) {
$result = array();
$pageToken = NULL;
do {
try {
$parameters = array();
if ($pageToken) {
$parameters['pageToken'] = $pageToken;
}
$files = $service->files->listFiles($parameters);
$result = array_merge($result, $files->getItems());
$pageToken = $files->getNextPageToken();
} catch (Exception $e) {
print "An error occurred: " . $e->getMessage();
$pageToken = NULL;
}
} while ($pageToken);
return $result;
}
include_once "templates/base.php";
session_start();
$client_id = '';
$client_secret = '';
$redirect_uri = '{link}';
require_once realpath(dirname(__FILE__) . '/../src/Google/autoload.php');
$client = new Google_Client();
//4/N8jf5YPn4-BwY2J5v30gL5aM-78z2IL7QZMN_TV0odk#
$client->setClientId($client_id);
$client->setClientSecret($client_secret);
$client->setRedirectUri($redirect_uri);
$client->setAccessType('offline');
$client->addScope("https://www.googleapis.com/auth/drive");
$client->setDeveloperKey("{Api server code here}");
if(isset($_COOKIE['code'])||isset($_GET['code']))
{
if(isset($_GET['code'])) {
setcookie('code',$_GET['code']);
echo"Saved code";
}
echo $_COOKIE['code']."<br/>";
$refreshToken=$_COOKIE['code'];
$client->authenticate($refreshToken);
if($client->isAccessTokenExpired()) {
$client->refreshToken($refreshToken);
setcookie('code',$client->getAccessToken());
echo "New token: ".$_COOKIE['code']."<br/>";
}
$service = new Google_Service_Drive($client);
var_dump(retrieveAllFiles($service));
} else
{
$authUrl = $client->createAuthUrl();
echo "<a href='$authUrl'>get code</a>";
}
«tokenID» вы упомянули, которые вы имеете в виду «маркер доступа»? Маркер доступа обычно истекает через час. Можете ли вы загрузить файл один раз и в следующий раз, когда он сработает? какой код он показывает? – Gerardo
@ Герардо, он должен работать в течение одного часа, но он работает только один раз, этот код показывает список файлов на Google Диске, первый раз с работой с токеном, второй раз я попытался с тем же токеном, он ничего не показывает, даже ошибка – medhamza7
@Gerardo у меня пропала ошибка php – medhamza7