Existe-t-il une URL que je pourrais utiliser pour télécharger directement sur Google Drive? Par exemple, j'ai un fichier sur mon serveur http://example.com/file.doc
et je souhaite le télécharger sur Google Drive avec quelque chose comme: http://google.com/?upload=http://example.com/file.doc
Quelle est l'approche pour faire cela?
Que diriez-vous de cette solution de contournement? Malheureusement, il n'y a pas d'URL pour le téléchargement direct de fichiers sans autorisation sur Google API. Je propose donc une solution de contournement. Je pensais que cette méthode pourrait être facile pour réaliser ce que vous voulez faire. S'il vous plaît pensez à cela comme l'une des nombreuses réponses.
Je pense qu'en utilisant les applications Web, vous pouvez réaliser ce que vous voulez faire. Le déroulement de cette solution de contournement est le suivant.
Veuillez exécuter doGet(e)
. Ainsi, bien qu’une erreur se produise, le processus d’autorisation peut être effectué.
function doGet(e) {
var blob = UrlFetchApp.fetch(e.parameters.url).getBlob();
var id = DriveApp.createFile(blob).getId();
return ContentService.createTextOutput(id);
}
https://script.google.com/macros/s/#####/exec
.url=http://example.com/file.doc
.file.doc
en accédant à cette URL https://script.google.com/macros/s/#####/exec?url=http://example.com/file.doc
à l’aide de votre navigateur .Si ce n'était pas utile pour vous, je suis désolé.
Je comprends que vous voulez télécharger des fichiers depuis une URL en utilisant php et javascript (jquery j’ai utilisé ici.). Si ma compréhension est fausse, merci de me le dire. doGet(e)
of Google Apps Script est requis pour utiliser ce script. Tout d'abord, veuillez copier et coller doGet(e)
et déployer Web Apps. Pour les deux scripts, l'ID du fichier créé sur Google Drive est renvoyé comme réponse.
<?php
$url = 'https://script.google.com/macros/s/#####/exec?url=http://example.com/file.doc';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl,CURLOPT_FOLLOWLOCATION, true);
$response = curl_exec($curl);
echo $response;
curl_close($curl);
?>
$.get("https://script.google.com/macros/s/#####/exec?url=http://example.com/file.doc", function(res) {
console.log(res);
});
Si vous souhaitez que les utilisateurs téléchargent des fichiers sur Google Drive, déployez Web Apps selon le flux suivant.
Veuillez exécuter doGet(e)
. Ainsi, bien qu’une erreur se produise, le processus d’autorisation peut être effectué.
function doGet(e) {
var blob = UrlFetchApp.fetch(e.parameters.url).getBlob();
var id = DriveApp.createFile(blob).getId();
return ContentService.createTextOutput(id);
}
https://script.google.com/macros/s/#####/exec
.url=http://example.com/file.doc
.file.doc
en accédant à cette URL https://script.google.com/macros/s/#####/exec?url=http://example.com/file.doc
à l’aide de votre navigateur .https://script.google.com/macros/s/#####/exec?url=http://example.com/file.doc
, l'écran de connexion à Google s'affiche.file.doc
est chargé sur l'utilisateur de Google Drive. Parce que le script est exécuté en tant que chaque utilisateur.https://script.google.com/macros/s/#####/exec?url=http://example.com/file.doc
sous forme de lien.Dans le cas d'utilisation de Web Apps, lorsque <div class="google-upload" data-url="http://example.com/file.doc">
est utilisé, l'exemple de script est le suivant.
Lorsque les utilisateurs cliquent sur Upload
, file.doc
est chargé sur le lecteur de l'utilisateur. Pour utiliser cet exemple de script, veuillez utiliser l'URL récupérée en déployant Web Apps à l'aide de l'option "Éditer 2" ci-dessus.
Dans ce cas, l'écran de connexion est affiché pour chaque utilisateur. Les utilisateurs sont tenus d'autoriser l'utilisation des API après la connexion en cliquant sur le bouton à l'écran. c'est ce que tu veux?
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.js"></script>
</head>
<body>
<div class="google-upload" data-url="http://example.com/file.doc">
<span style="background-color: #ddd">Upload</span>
</div>
<script>
$(function() {
$(".google-upload").click(function() {
var url = "https://script.google.com/macros/s/#####/exec"; // Please input the URL here.
var withQuery = url + "?url=";
window.open(withQuery + $('.google-upload').attr("data-url"), "_blank", "width=600,height=600,scrollbars=1");
});
});
</script>
</body>
</html>
Jetez un oeil à Drive Uploader
vous pouvez créer votre propre téléchargeur et disposer d'une URL unique qui peut être distribuée entre vos utilisateurs.
J'espère que ça aide