【问题标题】:KeyError: 'name'键错误:'名称'
【发布时间】:2019-09-18 09:25:13
【问题描述】:

我正在尝试在我的 Web 应用程序上使用 facebook 登录。 但是,我不断收到此错误消息:

 return self.view_functions[rule.endpoint](**req.view_args).
  File "/vagrant/itemcat2/application.py", 
  line 230, in fbconnect
  login_session['username'] = data["name"]
  KeyError: 'name'

为什么说数据名是key错误,不存在? 我该如何解决?

以下是错误消息指向的代码:

url = 'https://graph.facebook.com/v2.8/me?access_token=%s&fields=name,id,email' % 令牌

h = httplib2.Http()
result = h.request(url, 'GET')[1]

data = json.loads(result)
login_session['provider'] = 'facebook'
login_session['username'] = data["name"]
login_session['email'] = data["email"]
login_session['facebook_id'] = data["id"]

# Store token in login_session in order to logout
stored_token = token.split("=")[1]
login_session['access_token'] = stored_token

【问题讨论】:

  • 您尝试访问哪个 api 节点?,返回的数据似乎不包含“名称”作为键。也许您可以尝试将数据打印为 json 字符串并检查其中的键
  • facebook登录api。
  • 这个已经解决了,我可以发现我的token没有很好的拆分。下面的代码,解决了问题 token = result.split(',')[0].split(':')[1].replace('"', '')

标签: python json python-2.7 facebook-graph-api oauth-2.0


【解决方案1】:

他已经解决了,我可以弄清楚我的令牌没有很好地分裂。下面的代码,解决了token = result.split(',')[0].split(':')[1].replace('"', '')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-10
    • 2015-09-18
    • 1970-01-01
    • 2019-08-29
    • 2018-08-22
    • 2016-10-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多