【发布时间】:2015-07-03 03:36:08
【问题描述】:
基于@bossylobster 的this answer,我已经成功实现了一个与GMail API 连接的cron 作业。目前我的代码中有 user_id 和电子邮件地址,但是我正在构建一个应用程序,它应该在用户列表中运行。
这种情况下的问题是,当我在 CredentialsModel 上运行循环时,我没有用户的电子邮件地址。由于我使用的是 webapp 2 中的 User 模型(基于 this tutorial),因此我也无法在任何地方查找此 ID(据我所知)。
如果我能以某种方式检索带有 user_id 和凭据的电子邮件地址,或者在授予权限的那一刻将电子邮件地址和 user_id 保存在用户模型中......处理这个问题的最佳方法是什么?
我的授权码:
http = httplib2.Http(memcache)
service = discovery.build("gmail", "v1", http=http)
decorator = OAuth2Decorator(client_id=settings.CLIENT_ID,
client_secret=settings.CLIENT_SECRET,
scope=settings.SCOPE)
class getPermissions(webapp2.RequestHandler):
@decorator.oauth_aware
def get(self):
template_values = {
'url': decorator.authorize_url(),
'has_credentials': decorator.has_credentials()
}
self.response.out.write(template.render('templates/auth.html', template_values))
【问题讨论】:
-
“在 CredentialsModel 上运行循环”是什么意思?
-
调用 CredentialsModel 中的所有实体并使用它们来执行我的 API 调用。这解释清楚了吗?
标签: python google-app-engine gmail-api