python-从BlobstoreUploadHandler获取当前用户
作者:互联网
我想从BlobstoreUploadHandler获取当前用户.我正在为Web应用程序使用终结点,但是(在终结点之外)我构建了/ uploadUrl来将文件上传到Blobstore.
图像正确上传.因此,我需要链接上传到用户的图像,但是users.get_current_user()返回None.在前端,使用OAuth2登录用户.对这个问题有什么想法吗?
如果我使用endpoints.get_current_user()会引发错误:
No valid endpoints user in environment
这是我的代码:
class UploadHandler(blobstore_handlers.BlobstoreUploadHandler):
def post(self):
upload_files = self.get_file_infos()
file_info = upload_files[0]
gcs_filename = file_info.gs_object_name
file_key = blobstore.create_gs_key(gcs_filename)
File(file=gcs_filename, owner=users.get_current_user() ).put()
解决方法:
每个应用程序都需要自己的登录名,并且如果要在代码中使用User类,则每个类都需要导入和声明用户.
从google.appengine.api导入用户
导入webapp2
class MyHandler(webapp2.RequestHandler):
def get(self):
user = users.get_current_user()
if user:
greeting = ('Welcome, %s! (<a href="%s">sign out</a>)' %
(user.nickname(), users.create_logout_url('/')))
else:
greeting = ('<a href="%s">Sign in or register</a>.' %
users.create_login_url('/'))
self.response.out.write('<html><body>%s</body></html>' % greeting)
有关更多详细信息,请参见本文-https://cloud.google.com/appengine/docs/python/users/
标签:python,google-cloud-storage,google-app-engine,google-cloud-platform,google-cloud 来源: https://codeday.me/bug/20191012/1902742.html