我使用Python和PyDrive创建了一个程序。 该程序捕获图像并将其上传到Google云端硬盘上的文件夹。 这是我的身份验证和上传的基本代码:
gauth = GoogleAuth()
drive = GoogleDrive(gauth)
file_image = drive.CreateFile({"parents": [{"kind": "drive#fileLink","id": upload_folder_id}]})
file_image.SetContentFile(imageName) #Set the content to the taken image
file_image.Upload() # Upload it
每次我运行程序时都要验证我。有没有办法记住身份验证?
答案 0 :(得分:0)
在Google云端硬盘的网络界面中,Cookie用于记住身份验证。我建议您从配置文件中读取登录信息,并在每次使用脚本时登录。您可以使用eval()
,但请记住,eval()
是邪恶的:)(如果脚本仅由您使用,那就没关系。)
样品:
在脚本所在的同一文件夹中创建一个名为login.conf
(或类似文件)的文件。将其放入其中:
{"user": "username", "pass": "password"}
将"username"
和"pasword"
替换为您的实际值,但请保留"
。在你的脚本中,这样做:
with open("login.conf", "r") as f:
content = eval(f.read())
username = content["user"]
password = content["pass"]
# Now do login using these two variables
更安全的选项是在{3.}中使用ConfigParser
(configparser
)。
修改强>
登录Google云端硬盘需要在脚本目录中使用名为client_secrets.json
的文件。如果你有,请像这样登录:
gauth = GoogleAuth()
gauth.LocalWebserverAuth()
gauth.LoadCredentialsFile("credentials.txt")
if gauth.credentials is None:
gauth.LocalWebserverAuth()
elif gauth.access_token_expired:
gauth.Refresh()
else:
gauth.Authorize()
gauth.SaveCredentialsFile("credentials.txt")
drive = GoogleDrive(gauth)
希望这会有所帮助(问问,如果事情不够清楚的话)!