access_token 报错

来源:4-4 接入用户登录(2)

笑点珺

2019-09-04

老师代码如下,运行时报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)

图片描述
图片描述

写回答

1回答

NavCat

2019-09-06

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

    //img.mukewang.com/szimg/5d71c7ec096da59407160247.jpg

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

0
1
笑点珺
老师,我代码重新编辑了下,您在帮我看下错误
2019-09-08
共1条回复

手把手教你把Python应用到实际开发 不再空谈语法

学会项目开发思路,掌握Python高阶用法。

1341 学习 · 244 问题

查看课程