请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

access_token 报错

老师代码如下,运行时报access_token错误,不知道哪里出错

import json
import requests
from flask import Flask, redirect, request

app = Flask(__name__)


def get_ticket():
    url = 'https://api.weibo.com/oauth2/authorize?client_id=1548116460&response_type=code&redirect_uri=http://test.baidu.com'
    # get请求
    return url


def get_token(code):
    url = 'https://api.weibo.com/oauth2/access_token?client_id=1548116460&client_secret=e7484b2aec003f14fd7a814f83366a5b&grant_type=authorization_code&redirect_uri=http://test.baidu.comI&code=' + code
    resp = requests.post(url)
    return resp.json()


def get_info(access_token, uid):
    url = 'https://api.weibo.com/2/users/show.json'
    resp = requests.get(url, {
        'access_token': access_token,
        'uid': uid
    })
    return resp.json()


@app.route('/')
def index():
    code = request.args.get('code', None)
    # 根据code获取token
    token = get_token(code)
    # 获取用户信息
    user_info = get_info(token['access_token'], token['uid'])
    return json.dumps(user_info)


@app.route('/weibo')
def weibo():
    t = get_ticket()
    return redirect(t)


if __name__ == '__main__':
    app.run(debug=True, port=80)

图片描述
图片描述

正在回答 回答被采纳积分+3

1回答

NavCat 2019-09-06 10:46:05
  1. 贴代码不要直接粘贴在输入框里面,没法保留代码格式,老师拿到了也无法执行的。可以使用这种方法:

    https://img1.sycdn.imooc.com//szimg/5d71c7ec096da59407160247.jpg

  2. 根据你的错误日志,一些基本的错误要记住,譬如:你的日志中是KeyError,说明返回的字典info中没有‘access_token’这个值。这时候你就需要打印下info,看看里面到底返回的是什么,然后根据里面的内容去微博的接口文档上查看对应错误提示,逐个排查

0 回复 有任何疑惑可以回复我~
  • 提问者 笑点珺 #1
    老师,我代码重新编辑了下,您在帮我看下错误
    回复 有任何疑惑可以回复我~ 2019-09-08 10:46:20
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信