我在Python中使用Google Endpoint。 现在我想添加推送队列,但我不希望任何人有权触发此队列。 例如,我在用户调用一个api时创建一个队列。
endpoints.method(..,path='conference',http_method='POST',name='createConference') def createConference(self, request): ... taskqueue.add(url="/task/sendEmail", params={"conference": conference})
... 现在,我如何定义此队列的处理程序,没有人可以通过api调用它? 我被困在这里好几天了,请给我一些提示,指导我出去。 感谢
答案 0 :(得分:0)
您的终结点方法可受restricting the users that can call the API
保护endpoints.get_current_user()
限制直接调用推送队列,Google's Push Queue doc says,"您可以通过限制对管理员帐户的访问来阻止用户访问任务的URL。任务队列可以访问仅限管理员的URL。您可以通过将login:admin添加到app.yaml中的处理程序配置来限制URL。"
app.yaml snippet
handlers:
- url: /tasks/process
script: process.app
login: admin