requests-oauthlib 自定义参数

0 投票
1 回答
921 浏览
提问于 2025-04-18 14:53

我在想有没有办法在requests-oauthlib的oauth请求中添加自定义的值。这里是我用来获取令牌的代码,不过我想再添加两个参数。

def login_token(self):
    if self.signature_method == 'RSA-SHA1':
        prepare = OAuth1(self.consumer_key, client_secret=self.consumer_secret, callback_uri=self.call_backuri,
                         signature_method='RSA-SHA1',
                         rsa_key=open(self.rsa_location).read(), signature_type='query', verifier=None,)
    else:
        prepare = OAuth1(self.consumer_key, client_secret=self.consumer_secret, callback_uri=self.call_backuri,
                         signature_method='HMAC-SHA1', signature_type='query')
    request = json.loads(requests.post(self.base_url + 'login_token/', auth=prepare).text)
    self.request_token = request['token']['oauth_token']
    return str(self.request_token)

有什么想法吗?我查了一下,但没找到太多信息。

1 个回答

2

如果你想在网址中添加参数,可以使用 params 这个参数来实现:

extra_params = {'param1': value1, 'param2': value2}
request = requests.post(self.base_url + 'login_token/',
                        params=extra_params,
                        auth=prepare).json()

需要注意的是,requests 库本身支持直接加载 JSON 数据,你可以使用 response.json() 方法。这个方法会根据 JSON 的标准来判断正确的字符集(而 .text 可能会判断错误)。

撰写回答