django - 如何在使用 Python Requests 库获得的结果中提取特定数据
问题描述
请看下面的代码:
@login_required
def dashboard(request):
code = request.GET.get('code', '')
payload = {
"client_id" : settings.GITHUB_CLIENT_ID,
"client_secret" : settings.GITHUB_CLIENT_SECRET,
"code" : code,
"state" : settings.STATE,
}
response = requests.post('https://github.com/login/oauth/access_token', params=payload)
# final_response = requests.get('https://api.github.com/user', auth=GitHubTokenAuth(access_token))
return HttpResponse(response)
# authenticated_user = final_response.json()
# return render(request, 'core/dashboard.html', {'authenticated_user':authenticated_user})
该response
变量返回的值类似于:
access_token=eiwfbvdsvefieebrferferwfreferfersfwrb&scope=a%20list%20of%20scopes&token_type=bearer
如何访问 的值,access_token
以便我可以使用注释掉final_response
变量的值?感谢期待!
解决方案
您可以使用以下parse_qs
方法urllib
:
>>> from urllib.parse import parse_qs
>>> parse_qs(response.text)
{'access_token': ['eiwfbvdsvefieebrferferwfreferfersfwrb'], 'scope': ['a list of scopes'], 'token_type': ['bearer']}
请注意,您将为list
每个键获得一个。要访问第一个元素,请使用以下语法:
>>> result = parse_qs(response.text)
>>> result['access_token'][0]
'eiwfbvdsvefieebrferferwfreferfersfwrb'
推荐阅读
- r - 编写嵌套 for 循环以连接在 R 中的数据框中共享键的行
- python - Python & Numba:尽可能快地访问结构化的 numpy 数组元素
- xquery - http://localhost:8000/qconsole 在浏览器中的 MarkLogic 9 中没有出现
- c# - Acumatica Rest API 获取企业帐户
- search - 相关性的内部搜索优化
- python - pymysql如何为存储过程传递参数
- ajax - Querydict 无法识别 django 中的 json 数组
- reactjs - 如何在反应js中的表格单元格上附加按键事件
- angular - Angular 5模板驱动表单单元测试-无法读取未定义的属性“表单”
- powerbi - 如何将计算列号的数据类型更改为 Power BI 中的文本