1

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

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

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

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

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

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

4

2 回答 2

0

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

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

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

我知道 App Engine 示例上没有 OAuth 2,但有一个使用客户端库示例中包含的 Google+ API的示例。

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

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

代替:

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

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

于 2012-05-11T21:57:41.550 回答
0

去年我用示例 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 。

于 2012-05-11T22:21:21.663 回答