2012-05-11 133 views
1

我对Google API授权以及需要哪种类型感到困惑。Google API访问授权 - 需要指导

我想建立一个python应用程序,可以把事件放在我的谷歌日历上。请注意,我希望我的日历上只有我的日历。这将在服务器上作为django appllcation的后端运行。我根本没有试图访问任何其他用户的数据或日历。

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

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

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

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

回答

0

对Google API授权的推荐方法是使用OAuth 2. Google以各种语言(如Python)为OAuth 2提供独立库,以及提供更全面的客户端库(请参阅Python library)将OAuth 2与Google API(如Calendar API)结合使用。

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

因此,有simple instructions将Calendar API v3与Google Developers网站上的Python客户端库结合使用。但是,这些指令是针对在命令行上运行的应用程序而设计的,而不是在Web服务器上运行的应用程序,因为这在概念上和编程上都很容易掌握。我建议先尝试一下这个示例,即使它没有按照你想要的来做。

我知道App Engine样本上没有OAuth 2,但客户端库样本中包含example using the Google+ APIs

授权用户的这个示例的关键部分在使用Google+ API的应用程序与Calendar API之间几乎相同。最大的区别将在访问代表用户(范围)的应用程序的请求,这将是这样的:

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

代替:

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

,当然实际通话到API,这在Calendar API documentation reference中有详细描述。如果您尝试了上面链接的简单Calendar API示例,则应该能够将您在那里学到的内容与Google+示例中的OAuth 2设置说明一起使用,以便按照您的要求进行操作。