【问题标题】:Google API Access Authorization - Need GuidanceGoogle API 访问授权 - 需要指导
【发布时间】:2012-05-11 21:17:55
【问题描述】:

我对 Google API 授权以及需要什么类型感到困惑。

我正在尝试构建一个可以将事件放在我的谷歌日历上的 python 应用程序。请注意,我想要我的日历上的事件,并且只有我的日历。这将作为 django 应用程序的后端在服务器上运行。我根本不想访问任何其他用户的数据或日历。

示例:用户提出服务请求。我告诉用户感谢您的请求,然后我在我的日历上放了一个日历事件。

我尝试了 Web 应用程序的日历 API OAuth 模型客户端 ID,它似乎在请求访问请求用户数据的权限。对吗?

由于我使用用户名和密码登录我的 google 帐户并可以访问我的个人资料和日历,我的应用程序可以在我的帐户上执行相同的操作吗?

如何做到这一点?我需要什么 Google API 授权?有什么简单的例子吗?

【问题讨论】:

    标签: python django google-app-engine oauth


    【解决方案1】:

    推荐的对 Google API 进行授权的方法是使用 OAuth 2。Google 为 OAuth 2 提供了多种语言(例如 Python)的独立库,以及更全面的客户端库(参见 Python library)协助将 OAuth 2 与 Google API(例如 Calendar API)一起使用。

    在 Google API 的上下文中,使用用户名和密码对通常称为 ClientLogin。这种做法已被弃用,强烈反对

    除此之外,还有 simple instructions 用于在 Google Developers 网站上将 Calendar API v3 与 Python 客户端库一起使用。但是,这些说明是针对在命令行上运行的应用程序而不是在 Web 服务器上运行的应用程序量身定制的,因为从概念上和编程上讲,这更容易掌握。我建议先尝试这个示例,即使它并不能完全满足您的要求。

    据我所知,App Engine 示例中没有 OAuth 2,但客户端库示例中包含 example using the Google+ APIs

    此示例的关键部分,即授权用户,在使用 Google+ API 的应用程序与使用日历 API 的应用程序之间几乎相同。最大的区别在于您的应用程序代表用户(范围)请求的访问权限,类似于:

    https://www.googleapis.com/auth/calendar
    

    代替:

    https://www.googleapis.com/auth/plus.me
    

    当然还有对 API 的实际调用,在 Calendar API documentation reference 中有详细描述。如果您尝试了我在上面链接的简单日历 API 示例,您应该能够应用您在那里学到的知识以及 Google+ 示例中的 OAuth 2 设置说明来做您想做的事情。

    【讨论】:

      【解决方案2】:

      去年我用示例 Python/Django 代码写了一篇关于此的博客文章:

      http://www.dannyroa.com/2011/09/26/sign-in-with-google-get-user-info-from-google-profile/

      您需要更改范围才能使用日历 API。

      您可以在https://code.google.com/apis/explorer/#_s=calendar&_v=v3 使用日历 API。

      【讨论】:

        猜你喜欢
        • 2014-12-28
        • 1970-01-01
        • 1970-01-01
        • 2013-04-06
        • 1970-01-01
        • 2021-10-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多