我正在尝试制作一个简单的appengine应用,其中用户通过Github登录,其公共信息(仅userid)存储在数据存储区中。这是我写的简单脚本:
import webapp2
from google.appengine.ext import db
import json
import requests
form="""
<html>
<body>
<a href="https://github.com/login/oauth/authorize?state=myapp&redirect_uri=(redirection uri)&client_id=(myclientid)&scope=user">Login</a>
</body>
</html>
"""
class Userdata(db.Model):
userid = db.StringProperty()
class Devhandler(webapp2.RequestHandler):
def get(self):
url_get = self.request.GET
state=url_get['state']
code=url_get['code']
self.response.headers["Content-Type"] = "application/json"
url = 'https://github.com/login/oauth/access_token?client_id=(clientid)&client_secret=(my secretclient id)&redirect_uri=(redirect uri)&code='+code
r=requests.post(url)
req=str(r.content)
access_token = ""
i=13
while(req[i]!='&'):
access_token = access_token + req[i]
i = i + 1
result_url = 'https://api.github.com/user?access_token='+str(access_token)
result = requests.get(result_url)
fd = json.loads(result.content) #fd contains the user data in json format!
userid = fd['login']
user_instance = Userdata(userid=userid)
user_instance.put()
self.redirect('/welcome')
class Profilehandler(webapp2.RequestHandler):
def get(self):
self.response.out.write("Welcome!")
app = webapp2.WSGIApplication([
('/',Mainhandler),
('/dev',Devhandler),
('/welcome',Profilehandler)
],debug=True)
当我运行上面的代码时,一切正常,但唯一的问题是,我无法存储用户数据。当我打开appengine数据存储查看器时,什么也没找到(数据存储中没有用户!)。代码有什么问题?为什么我无法存储用户数据?
PS:我的帐户没有问题,我可以轻松地将数据存储在其他项目中。如果有人可以帮助我,我感到很高兴!!
您可能正在SDK控制台数据查看器中检查用户数据。尝试通过https://appengine.google.com/dashboard检查数据存储。如果您的代码中没有错误,您肯定会在其中找到您的数据。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句