【问题标题】:In Python, how do you use the Google Apps Domain Key to connect to Google API?在 Python 中,如何使用 Google Apps 域密钥连接到 Google API?
【发布时间】:2013-03-15 06:41:37
【问题描述】:

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

我正在使用 OAuth2WebServerFlow、Credentials 和 Storage 对象,如下所示:https://developers.google.com/api-client-library/python/guide/aaa_oauth

flow = OAuth2WebServerFlow(client_id="domain.com",
                           client_secret=<Consumer Secret>,
                           scope='https://www.googleapis.com/auth/calendar')

但是,当我去网站进行身份验证时,我得到一个“invalid_client”错误。

有没有人有任何提示可以让它工作?我在获取从 API 控制台生成的 OAuth 密钥时没有问题。但是,我特别在域密钥上苦苦挣扎。你有什么特别的事情要做吗?

【问题讨论】:

    标签: python google-oauth google-api-python-client


    【解决方案1】:

    这适用于 OAuth 2.0,因此您需要实际的客户端 ID,而不是您的域。 (您似乎将这与 OAuth 1.0 混为一谈,但也许我误解了。)

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

    【讨论】:

    • 您好,感谢您的回复。我了解客户 ID 是什么,GAB 中的域密钥是客户 ID。我正在尝试弄清楚如何使用它进行连接。
    • 似乎“TwoLeggedOAuthCredentials”不再存在。我在 google-api-python-client v1.1 中找不到它。
    • 抱歉这里有垃圾评论。 5分钟后你不能编辑评论有点荒谬。我之前的评论参考了这个页面,它解释了如何做我想做的事情,除了我无法让它工作,因为我找不到“TwoLeggedOAuthCredentials”。 developers.google.com/google-apps/help/articles/…
    • 是的,文章提到了“2-legged OAuth 1.0”。正如我所说,我们不支持 OAuth 1.0。它已被 OAuth 2.0 弃用。
    • 那么,我应该使用 OAuth 2.0 使用域密钥进行连接吗?如果是这样,我该怎么做呢?每当我尝试使用 OAuth2WebServerFlow 时,我都会得到一个报告“invalid_client”的页面。如果我遗漏了一些明显的东西,我很抱歉。但是,似乎已弃用的方式比未弃用的方式记录得更好。
    【解决方案2】:

    【讨论】:

    • 但这不适用于 GAB 域密钥。我特意询问了域密钥,恭敬地。
    • bossylobster 已经向您指出,GAB 域密钥是 OAuth 1.0 并且已弃用。我给你的链接解释了如何使用 OAuth 2.0 完成同样的事情。
    • @JoeGregorio prn 已被弃用,取而代之的是 sub。在规范最终确定之前,Google 使用了值 prn,现在它是最终的。 AFAIK 都有效,但 sub 是未来,而不是 prn
    猜你喜欢
    • 1970-01-01
    • 2017-08-03
    • 1970-01-01
    • 1970-01-01
    • 2019-04-08
    • 2011-01-07
    • 2023-03-02
    • 2012-11-06
    • 1970-01-01
    相关资源
    最近更新 更多