Итак, история такая: у меня есть веб-сайт обмена файлами на Google Диске, теперь, когда я его использую, файл, который копируется приложением, остается закрытым, как мне изменить разрешения, чтобы он стал кем-либо / опубликованным? c?
Приведенный ниже скрипт не работает для установки разрешений на копирование файлов кому-либо.
Это функция кода, которую я использовал:
function insertPermission($id, $token) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://www.googleapis.com/drive/v3/files/$id/permissions?key=$token");
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-type: application/json", "Authorization: Bearer $token", "{\"role\":\"reader\",\"type\":\"anyone\"}"));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "{\"role\":\"reader\",\"type\":\"anyone\"}");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);
}
function copyfile($id, $token) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://www.googleapis.com/drive/v3/files/$id/copy?access_token=$token");
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-length: 0", "Content-type: application/json", "Authorization: Bearer $token"));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);
return json_decode($result, true);
}
Вот телефонный код:
$ruse = token("refresh", $_SESSION[email]);
$copy = copyfile($share[file][file_id], $ruse[access_token]);
insertPermission($copy[id], $ruse[access_token]);
if ($copy[id]) {
echo " <
meta http - equiv = \"refresh\" content=\"10;URL='https://docs.google.com/uc?id=$copy[id]'\" /> <
div class = \"my-3 p-3 bg-white rounded shadow\"> <
div style = \"padding: 50px 15px;text-align: center;background-color: #fff;\"> <
h3 > Start Download < /h3><br / >
Click < a href = \"https://docs.google.com/uc?id=$copy[id]\" target=\"_blank\">here</a> for download. <
/div> <
/div>";
}