google api как открыть папку в PHP - PullRequest
0 голосов
/ 05 марта 2020

Для Google API я использую библиотеку https://github.com/googleapis/google-api-php-client Не могу понять, как создать общую папку? Или дать доступ к уже созданной папке?

Вот код для создания папок:

if ( isset( $_POST['bild_folder'] ) ) {

  $order_id = $_POST['order_id'];
  require( $_SERVER['DOCUMENT_ROOT'] . '/vendor/autoload.php' );

//configurar variable de entorno
putenv('GOOGLE_APPLICATION_CREDENTIALS='.$_SERVER['DOCUMENT_ROOT'] . '/lib/google-drive/xxxxxxx.json');

$client = new Google_Client();
$client->useApplicationDefaultCredentials();
$client->setScopes(['https://www.googleapis.com/auth/drive.file']);


try{
# Папка сделки
$foldr_service = new Google_Service_Drive($client);
$foldr_one = new Google_Service_Drive_DriveFile();
$foldr_one->setName($order_id);
$foldr_one->setDescription('Загружено с сайта: '.$_SERVER['SERVER_NAME']);
# obtenemos el mime type
$foldr_mime_type='application/vnd.google-apps.folder';
# Папка сделки
$foldr_one->setParents(array("xxxxxxxxxxxx"));
$foldr_one->setMimeType($foldr_mime_type);
$foldr_result = $foldr_service->files->create($foldr_one);

$foldr_id = $foldr_result->id;
$foldr_link = 'https://drive.google.com/drive/folders/'.$foldr_id;

# Папка Исходные
$foldr2_service = new Google_Service_Drive($client);
$foldr2_one = new Google_Service_Drive_DriveFile();
$foldr2_one->setName('Исходные'.$order_id);
$foldr2_one->setDescription('Загружено с сайта: '.$_SERVER['SERVER_NAME']);
#
$foldr2_one->setParents(array($foldr_id));
$foldr2_one->setMimeType($foldr_mime_type);
$foldr2_result = $foldr2_service->files->create($foldr2_one);

$foldr2_id = $foldr2_result->id;
$foldr2_link = 'https://drive.google.com/drive/folders/'.$foldr2_id;

# Папка Материалы по заказу
$foldr3_service = new Google_Service_Drive($client);
$foldr3_one = new Google_Service_Drive_DriveFile();
$foldr3_one->setName('Материалы по заказу '.$order_id);
$foldr3_one->setDescription('Загружено с сайта: '.$_SERVER['SERVER_NAME']);
#
$foldr3_one->setParents(array($foldr_id));
$foldr3_one->setMimeType($foldr_mime_type);
$foldr3_result = $foldr3_service->files->create($foldr3_one);

$foldr3_id = $foldr3_result->id;
$foldr3_link = 'https://drive.google.com/drive/folders/'.$foldr3_id;
echo $foldr_link.';'.$foldr2_id.';'.$foldr3_link;

}catch(Google_Service_Exception $gs){

  $m=json_decode($gs->getMessage());
  echo $m->error->message;

}catch(Exception $e){
    echo $e->getMessage();

}
}

Мне нужно поделиться (для всех, у кого есть ссылка) этой папкой, а также получить эту ссылку в переменной

    # Папка Материалы по заказу
    $foldr3_service = new Google_Service_Drive($client);
    $foldr3_one = new Google_Service_Drive_DriveFile();
    $foldr3_one->setName('Материалы по заказу '.$order_id);
    $foldr3_one->setDescription('Загружено с сайта: '.$_SERVER['SERVER_NAME']);
    #
    $foldr3_one->setParents(array($foldr_id));
    $foldr3_one->setMimeType($foldr_mime_type);
    $foldr3_result = $foldr3_service->files->create($foldr3_one);
...