将文件从谷歌驱动器发送到谷歌应用程序脚本的收存箱

问题描述:

我一直在寻找如何做到这一点,但我没有找到任何东西。过了一段时间,我想出了我将发布的脚本作为答案。 我发布了这个为自己和任何人可能会发现它有用。将文件从谷歌驱动器发送到谷歌应用程序脚本的收存箱

您需要获取Dropbox访问令牌,可以在创建Dropbox应用程序后获取该令牌。

function send2dropbox(file) { 
    var dropboxTOKEN = 'XXXxxx'; 

    var path = '/somePath/' + file.getName(); 
    var dropboxurl = 'https://api.dropboxapi.com/2/files/save_url'; 
    var fileurl = 'https://drive.google.com/uc?export=download&id=' + file.getId(); 

    var headers = { 
    'Authorization': 'Bearer ' + dropboxTOKEN, 
    'Content-Type': 'application/json' 
    }; 
    var payload = { 
    "path": path, 
    "url": fileurl 
    } 
    var options = {  
    method: 'POST', 
    headers: headers, 
    payload: JSON.stringify(payload)  
    }; 

    var response = UrlFetchApp.fetch(dropboxurl, options); 
    return response; 
} 

你可以找到一个例子HERE

+0

注意这个代码使用的Dropbox API 1,而这是已废弃,并很快退役(https://blogs.dropbox.com/developers/2016/06/API-V1-弃用/)。您应该使用[Dropbox API v2](https://www.dropbox.com/developers)。这种情况下的相关端点是[/2/save_url](https://www.dropbox.com/developers/documentation/http/documentation#files-save_url)。 – Greg