Я провел некоторое исследование и, по словам Google, это должно быть так:
$client->setAccessToken($_SESSION['accessToken']);
$service = new Google_DriveService($client);
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$file = new Google_DriveFile();
foreach ($files as $file_name) {
$file_path = 'files/'.$file_name;
$mime_type = finfo_file($finfo, $file_path);
$file->setTitle($file_name);
$file->setDescription('This is a '.$mime_type.' document');
$file->setMimeType($mime_type);
$upload = $service->files->insert(
$file,
array(
'data' => file_get_contents($file_path),
'mimeType' => $mime_type,
'fields' => 'embedLink'
)
);
}
finfo_close($finfo);
header('location:' . $upload->fields);exit;
Как вы можете видеть, я добавил 'fields' => 'embedLink'
, который запрашивает ссылку для встраивания. fields
имеет множество различных функций, но эта, кажется, относится к вашему вопросу.
Я не уверен, сработает ли $upload->fields
или нет, потому что я только протестировал его на эмуляторе Google, который не показывает мне код. Ссылка должна быть отправлена обратно в ответе (в формате JSON), поэтому вам, возможно, придется использовать json_decode()
для получения данных. Вы также можете попробовать $upload->embedLink
.