这篇文章是如何在 GAE cron 作业中执行需要 OAuth 的操作?,我意识到我误用了@oauth_required
来自OAuth2DecoratorFromClientSecrets
.
如OAuth 2.0 解释演示所述,Oauth 2.0 解决了以下问题:
- 建立服务...
- ...由用户访问...
- ...并从第三方访问用户的数据。
这就是@oauth_required
抽象的内容,它做得很好(目前我的应用程序“工作”:如果我触发刷新页面,我被要求授权访问我的 youtube 数据到我的应用程序,其余的如下)。但这不是我想要的!我的应用程序做了一些更简单的事情,即每天使用我的凭据创建一个 youtube 播放列表,而无需任何用户输入。因此,与上述 3 层协商相比,我想要:
- 一项服务
- ...由用户访问
- ...但只能访问“服务器拥有的”YouTube 播放列表数据。我不想访问用户的 YouTube 数据,我只想修改我(即我/服务器保存的用户 ID)拥有的播放列表。
但我仍然需要帮助才能做到这一点;这是我目前的状态:
经过几次搜索后,我了解到我想要做的是称为离线访问(强调我的,这几乎正是我的用例):
“在某些情况下,当用户不存在时,您的应用程序可能需要访问 Google API。这方面的示例包括备份服务和应用程序,它们恰好在星期一早上 8 点发布博客。这种访问方式称为离线,Web 服务器应用程序可能会请求用户离线访问。正常和默认的访问方式称为在线。 " ...
→ 所以我应该继续做我现在正在做的事情,继续请求访问我的 YouTube 帐户,但是使用type_access=offline
标志来获取令牌,并将其保留/用于后续请求。离线访问和 使用刷新令牌部分完全有意义,但停留在一般 HTTP 级别。作为一个新手,我不知道如何将这些原则集成到我的 Python 代码中,也没有找到任何示例 Python 代码......
→ 谁能帮我提供一个 Python 示例来说明如何以及在何处使用这面旗帜?......尤其是在学习之后
oauth2client.appengine.OAuth2Decorator.oauth_required
,我仍然不确定是否可以将其弯曲到我的情况下,或者我是否应该做自己的事情。
→ 你怎么看?
谢谢你的时间; 如果需要,我也会在 irc://irc.freenode.net/#appengine 作为ronj
.