我正在尝试使用 Apache libcloud 来访问 GCP,并希望能够启动计算实例。因此,按照文档,我在 GCP 上创建了一个与我的电子邮件关联的服务帐户,并暂时授予它所有者访问权限。之后,我使用 libcloud 如下:
from libcloud.compute.types import Provider
from libcloud.compute.providers import get_driver
ComputeEngine = get_driver(Provider.GCE)
driver = ComputeEngine('luca@googlemail.com', 'gcp-key.json', project='first-gcp')
这实际上显示了一个 URL,并要求我从中输入代码。当我单击 URL 时,我收到错误消息:
The OAuth client was not found.
这不是我设想的工作流程。我认为提供密钥只会让我进入,然后我就可以使用启动实例的方法等。所以,我不确定我是否通过在 GCP 上使用服务帐户来做正确的事情。
因此,我收到以下要求代码:
所以我明白了:
Please Go to the following URL and sign in:
https://accounts.google.com/o/oauth2/auth?response_type=code&client_id=xxx&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcompute+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdevstorage.full_control+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fndev.clouddns.readwrite&state=Libcloud+Request
Enter Code:
我应该如何处理这个?我们最终将是一些远程工作的人,所以理想情况下,每个人都有自己的密钥可以使用,如果不需要手动输入代码,这应该以一种有点自主的方式发生,那就太好了。