在Python中,如何使用GoogleApps域密钥连接到GoogleAPI?

在Python中,如何使用GoogleApps域密钥连接到GoogleAPI?,python,google-oauth,google-api-python-client,Python,Google Oauth,Google Api Python Client,我无法使用域密钥(即与域名同名的消费者密钥)连接到我的谷歌日历 我正在使用OAuth2WebServerFlow、凭据和存储对象,如下所示: flow=OAuth2WebServerFlow(client_id=“domain.com”, 客户机密码=, 范围=https://www.googleapis.com/auth/calendar') 但是,当我去网站进行身份验证时,我只收到了一个“invalid_client”错误 有人有什么建议让它发挥作用吗?获取从API控制台生成的OAuth密

我无法使用域密钥(即与域名同名的消费者密钥)连接到我的谷歌日历

我正在使用OAuth2WebServerFlow、凭据和存储对象,如下所示:

flow=OAuth2WebServerFlow(client_id=“domain.com”,
客户机密码=,
范围=https://www.googleapis.com/auth/calendar')
但是,当我去网站进行身份验证时,我只收到了一个“invalid_client”错误


有人有什么建议让它发挥作用吗?获取从API控制台生成的OAuth密钥没有问题。但是,我正在与域密钥斗争,特别是。您需要做一些特殊的事情吗?

这是针对OAuth 2.0的,因此您需要的是实际的客户端ID,而不是您的域。(看起来您对OAuth 1.0的理解有点混乱,但可能是我误解了。)


有关客户端ID是什么以及在哪里可以找到它的更多信息,请查看Google API控制台。

使用SignedJwtAssertionCredentials,并使用“prn”参数指定要模拟的用户:


您好,谢谢您的回复。我知道什么是客户端ID,GAB中的域密钥是客户端ID。我正在试图找出如何使用它进行连接。看起来“TwoLeggedAuthCredentials”已经不存在了。我在google api python客户端v1.1中找不到它。很抱歉这里出现了垃圾评论。有点可笑,5分钟后你就不能编辑评论了。我之前的评论是关于这个页面的,它解释了如何做我想做的事情,只是我无法让它工作,因为我找不到“TwoLeggedAuthCredentials”。是的,文章提到了“2-LeggedOAuth 1.0”。正如我所说,我们不支持OAuth1.0;它已经被弃用,取而代之的是OAuth 2.0。所以,我应该使用OAuth 2.0来使用域密钥进行连接?如果是的话,我该怎么做呢?每当我尝试使用OAuth2WebServerFlow时,我都会得到一个报告“invalid_client”的页面。如果我遗漏了一些明显的内容,我道歉。但是,不推荐使用的方法似乎比不推荐使用的方法有更好的文档记录,但这对GAB域密钥不起作用。我很尊敬地特别询问了域密钥。正如bossylobster已经向您指出的,GAB域密钥是OAuth 1.0,不推荐使用。我给你的链接解释了如何使用OAuth 2.0完成同样的事情。@Joegergorio
prn
已经被弃用,取而代之的是
sub
。值
prn
在规范最终确定之前由谷歌使用,现在是最终的。AFAIK两者都起作用,但
sub
是未来,而不是
prn
flow = OAuth2WebServerFlow(client_id="domain.com",
                           client_secret=<Consumer Secret>,
                           scope='https://www.googleapis.com/auth/calendar')