python - 试图从响应创建一个 json 但我得到 json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
问题描述
我制作了这个 python 脚本,当我尝试从响应中创建 json() 以收集 access_token 时,它通过从 googleapis 交换刷新令牌来获取访问令牌我得到 JSONDecodeError
这是我的代码:
import json
from os import access
import requests
import pandas as pd
tokens_csv = pd.read_csv('./credentials/tokens.csv')
client_ids = []
client_secrets = []
refresh_tokens = tokens_csv['refresh_tokens']
for i in range(2):
f = open('./credentials/{}.json'.format(i+70))
data = json.load(f)
client_id = str(data['web']['client_id'])
client_ids.append(client_id)
client_secret = data['web']['client_secret']
client_secrets.append(client_secret)
# def get_access_token(client_id,client_secret):
def get_access_token():
access_tokens = []
url = "https://googleapis.com/oauth2/v2/token"
for i in range(len(client_ids)):
qparams = {
"grant_type":"refresh_token",
"client_id": client_ids[i],
"client_secret": client_secrets[i],
"refresh_token": refresh_tokens[i]
}
response = requests.request("POST", url, params=qparams)
obj = response.json()
access_token = obj["access_token"]
access_tokens.append(access_token)
return access_tokens
get_access_token()
继承人的错误:
File "C:\Users\Mohan Krishna\AppData\Local\Programs\Python\Python39\lib\json\decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
解决方案
可能有两个原因。
- 其中@Abdul Niyas PM 列出。
- 您可能需要使用 json.dumps() 将 qparams 转换为 JSON
推荐阅读
- node.js - Sequelize 在 belongsToMany 关联中获取未知列
- html - 根据男性/女性复选框自动更改的 Django 选项。类别将根据性别选择显示
- sql - SQL - 更新多个字段而不是一个
- javascript - 如何使我的按钮与我的功能交互
- time-complexity - 为什么像 O(N + N) 这样的时间复杂度等于 O(N)?
- c - do循环没有正确执行
- git - 在 git 中修复错误并将更改合并到以前版本和所有下一个版本的正确方法是什么?
- vega-lite - 使用画笔与选择(单击)不一致的选择过滤器行为
- html - 无法将 tr 高度设置为 100% 或将 TD 宽度设置为 100%
- javascript - Google 跟踪代码管理器:CSS 选择器仅用于 a 中的一段文本
- 元素