eros_face
(eros face)
1
我通过下面的方式,用acess_token获取sess-key之后,发现之前获取的fresh_token失效了,要如何重新获取fresh_token呀,有搞过的朋友提点一下吗?
def get_sess_key(self, access_token):
headers = {
"Authorization": f"Bearer {access_token}",
"Content-Type": "application/json",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36 OPR/105.0.0.0",
}
response = requests.post('https://api.openai.com/dashboard/onboarding/login', headers=headers, data={})
if response.ok:
data = json.loads(response.text)
return (data['user']['session']['sensitive_id'], data['user']['session']['created'])
1 Like
neo
(Neo)
4
refresh_token目前看下来改密码会失效。
1 Like
eros_face
(eros face)
5
我都不改密码,太麻烦。我只通过接口获取能用的key就行了。
就是不明白,通过acess_token获取sess,为啥会影响到fresh_token失效的,哎。
eros_face
(eros face)
7
我获取完refresh_token和access_token之后,就没有用浏览器访问了,都是直接Python通过接口获取key了。有接口可以通过access_token来获取refresh_token的吗?
neo
(Neo)
8
access_token不可能反过来获取refresh_token,不然全乱套了
eros_face
(eros face)
9
也是的。那咱们,有没有啥办法可以让refresh_token保持有效呢,不然这个refresh_token感觉就只能用一次了
eros_face
(eros face)
11
通过浏览器获取refresh_token是没问题的。问题是之后的使用。
我把token都存在数据库,通过refresh_token可以一直刷新access_token和refresh_token,可是一旦用接口(https://api.openai.com/dashboard/onboarding/login)access_token获取了sess,那么存在数据库里的refresh_token也就失效了,不能继续刷新access_token了
大致明白了,一旦login行为发生,之前的 refresh_token 也就失效了,需要重新通过用户名和密码登录获取新的refresh_token。
哎,我就被困在登录上了,调用浏览器登录,效率非常慢,挂一天才能处理五六百个,要是有接口能直接调用,而不是用浏览器登录就好了。
直接执行上面的代码可以获取sess-key?我怎么没反应的?
佬,对了,如果改密码了,access_token会不会立刻失效呢!我在我号上测试,好像还不会。
不要改密码就没事,我放了100个team进去,不改账号密码,没所谓的,team网页版该聊天还是聊天。一点不碍事,我api逆向调用
def get_sess_key(self, access_token):
headers = {
“Authorization”: f"Bearer {access_token}",
“Content-Type”: “application/json”,
“User-Agent”: “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36 OPR/105.0.0.0”,
}
response = requests.post(‘https://api.openai.com/dashboard/onboarding/login’, headers=headers, data={})
if response.ok:
data = json.loads(response.text)
return (data[‘user’][‘session’][‘sensitive_id’], data[‘user’][‘session’][‘created’])
我就是直接套用这代码,换了access_token在pycharm中执行,没有反应,啥也没输出
eros_face
(eros face)
18
我这是放在class里的,参数里有个self看到没,你要自己修改下,而且没有报错的话,说明执行没问题,否则你获取data[‘user’][‘session’][‘sensitive_id’]会发生异常,函数return后,你打印结果看看,或者你直接打印response.text
我将self的参数删除的了,直接传access_token,不知道是不是电脑开了V2的问题,等了很久,提示连接超时