gpt4 book ai didi

python - 如何在没有身份验证的情况下使用 python 上传到谷歌驱动器?

转载 作者:太空宇宙 更新时间:2023-11-04 01:56:00 24 4
gpt4 key购买 nike

我想使用 Google Script 和 Python 将文件上传到 Google 云端硬盘。

我不想使用 API 执行此操作,因为它使用 JSON 文件并请求谷歌帐户的密码。

我想从没有 JSON 文件且不请求谷歌帐户的 Python 文件发送。

我想在 google script 中创建一个脚本,将文件上传到网站。

我找到了如何用 html 来做:

function saveFile(data,name,folderName) { 
var contentType = data.substring(5,data.indexOf(';'));

var file = Utilities.newBlob(
Utilities.base64Decode(data.substr(data.indexOf('base64,')+7)),
contentType,
name
); //does the uploading of the files
DriveApp.getFolderById(childFolderIdA).createFile(file);
}

但是我没有找到如何用 python 来做。

如何将带文件的文件发送到此代码?

最佳答案

您可以通过发布一个网络应用程序以“我”(您)的身份运行并具有访问权限:“任何人,甚至是匿名的”来实现这一点。

服务器端:

function doPost(e){
const FOLDER_ID = '###FOLDER_ID###';
var name = e.parameter.name;
saveFile(e.postData.contents,name,FOLDER_ID);
return 'Success';
}

function saveFile(data,name,id) {
data = Utilities.newBlob(Utilities.base64DecodeWebSafe(data));
DriveApp.getFolderById(id)
.createFile(data.setName(name))
}

客户端:

import requests, base64
url = '###WEB_APP_PUBLISHED_URL###'
name = '###FILENAME###'
requests.post(url+'?name='+name,data=base64.urlsafe_b64encode(open('##UPLOAD FILE PATH##','rb').read()))

备注:

  • 任何知道网络应用程序 url 的人都可以上传到您的驱动器

引用资料:

关于python - 如何在没有身份验证的情况下使用 python 上传到谷歌驱动器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56808846/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com