我编写了一个python脚本,用于从本地文件夹上传文件到Google云存储。
我还创建了一个具有足够权限的服务帐户,并在我的计算机上使用该服务帐户JSON密钥进行了测试,结果成功了。
现在我将代码和JSON密钥发送给其他人运行,但她这边的身份验证失败。
我们是否缺少任何通过GCP UI的认证?
def config_gcloud():
subprocess.run(
[
shutil.which("gcloud"),
"auth",
"activate-service-account",
"--key-file",
CREDENTIALS_LOCATION,
]
)
storage_client = storage.Client.from_service_account_json(CREDENTIALS_LOCATION)
return storage_client
def file_upload(bucket, source, destination):
storage_client = config_gcloud()
...
错误发生在config_cloud中,它说它正在等待str, path,…但是得到NonType。正如我所说,代码很好,可以在我的计算机上运行。另一个人如何使用我发送给她的JSON键?她将Json存储在本地,Json的路径在代码中。
CREDENTIALS_LOCATION是None而不是正确的路径,因此它抱怨它是NoneType而不是str| path。
你也不需要gcloud调用,这只会影响gcloud/gsutil命令,而不是python客户端。
下次请贴出实际的堆栈跟踪错误,而不仅仅是拼写错误的解释。