Google drive api upload Превышен лимит пользователей

Я использую PHP SDK для копирования файлов на Google Drive моя учетная запись может использовать неограниченное хранилище

После загрузки 300-500 файлов отображается превышение предела скорости пользователя, и я не могу загрузить его до следующего дня

{
  "code": 403,
  "message": "User rate limit exceeded."
}

function copydrive($driveid,$folder,$newname){
    $fileMetadata = new Google_Service_Drive_DriveFile(array(
        'name' => $newname,
        'parents' => array($folder)
    ));
    $result = $GLOBALS['service']->files->copy($driveid, $fileMetadata);
    return $result->id;
}
$newid = copydrive($episode['drive'],$folderid,$filename);
if($newid!=''){
    $qrun2=$conn->prepare("update episode set mydrive='".$newid."' where id=".$episode['id']);
    $qrun2->execute();
    echo "<script language='javascript'>";
    echo 'setTimeout(function(){window.location.reload(1);}, 2000);';
    echo "</script>";
}

Обновление с использованием пакетного запроса все еще получает ошибку

$qrun=$conn->prepare("SELECT * FROM episode WHERE drive!='' and mydrive is null limit 50");
$qrun->execute();
$episode=$qrun->fetchAll();
$batch = $service->createBatch();
$num=0;
foreach($episode as $item){
    $fileMetadata = new Google_Service_Drive_DriveFile(array(
        'parents' => array('parent folder id')
    ));
    $result = $GLOBALS['service']->files->copy($item['drive'], $fileMetadata);
    $batch->add($result,'copy-'.$num);
    $num++;
}
$results = $batch->execute();
$total_rs = count($results);
for($x=0;$x<$total_rs;$x++){
    $qrun2=$conn->prepare("update episode set mydrive='".$results['response-copy-'.$x]->id."' where id=".$episode[$x]['id']);
    $qrun2->execute();
}

В инструментальной панели API запрос за 1 час составляет 344

введите описание изображения здесь

1 ответ

Это происходит потому, что вы выполняете свой запрос, вероятно, с высокой скоростью. Я бы предложил:

  1. замедление, как создание задержки между запросами.

  2. Если вы можете выполнить пакетные запросы, сделайте это.

  3. Если это применимо к вам, попробуйте использовать других пользователей для создания запроса в рамках проекта, например, для разделения запросов.

Другие вопросы по тегам