Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

请求支持 refresh_token to access_token #54

Closed
baby9 opened this issue May 14, 2024 · 11 comments
Closed

请求支持 refresh_token to access_token #54

baby9 opened this issue May 14, 2024 · 11 comments

Comments

@baby9
Copy link

baby9 commented May 14, 2024

通过refresh_token 生成 access_token

通过官网获取 https://auth0.openai.com/oauth/token 以下是python实现

import requests,json
url = "https://auth0.openai.com/oauth/token"
headers = {"Content-Type": "application/json"}
data = {
    "redirect_uri": "com.openai.chat://auth0.openai.com/ios/com.openai.chat/callback",
    "grant_type": "refresh_token",
    "client_id": "pdlLIX2Y72MIl2rhLhTE9VV9bN905kBh",
    "refresh_token": "替换成你的refresh_token"
}
response = requests.post(url, headers=headers, data=json.dumps(data))
print(response.json()["access_token"])

调用 zhele 的免费api接口获取

import requests
url = "https://token.oaifree.com/api/auth/refresh"
headers = {
    "Content-Type": " x-www-form-urlencoded;charset=UTF-8"
}
data = {
    "refresh_token": "替换成你的refresh_token"
}
response = requests.post(url, data=data)
print(response.json()["access_token"])
@baby9
Copy link
Author

baby9 commented May 14, 2024

refresh token 的有效期为永久, 且每次用 refresh token 刷新 access token 时得到的 access token 有效期都为10天

@maxduke
Copy link

maxduke commented May 14, 2024 via email

@xqdoo00o
Copy link
Owner

这个client_id是固定的嘛

@gkingt
Copy link

gkingt commented May 14, 2024

这个client_id是固定的嘛

是固定的,zhile接口目前也可以,没有任何限制

@baby9
Copy link
Author

baby9 commented May 14, 2024

@maxduke
Copy link

maxduke commented May 14, 2024

可以看下我的代码,跑了很久了
https://github.com/maxduke/go-chatgpt-api/blob/2b8c5585be7f2601e19cc815041f0fca1f44e014/api/common.go#L296
官方接口,不用打码过盾。
感觉要改的话应该在 dep, auth那个改

@xqdoo00o
Copy link
Owner

xqdoo00o commented May 17, 2024

抄好了,可以测下,参考文档
首先accounts.txt里加上账户名和随意一个密码,然后cookies.json里如上链接所示,注意需把Name的值改为refresh_token
如果要测试是否正常获取的话,可以在代码前一行加上fmt.Println(err)

@maxduke
Copy link

maxduke commented May 18, 2024

抄好了,可以测下,参考文档 首先accounts.txt里加上账户名和随意一个密码,然后cookies.json里如上链接所示,注意需把Name的值改为refresh_token 如果要测试是否正常获取的话,可以在代码前一行加上fmt.Println(err)

粗略测了下没问题,看了下代码应该目前只支持持单账号,对我来说没问题。
还有一点就是,用refresh_token的话,刷新时间没有必要每天一刷。看了下改动,因为在依赖上,主体程序上应该不太能判断。建议加个环境变量。可以自行控制每隔几天刷新。

@xqdoo00o
Copy link
Owner

粗略测了下没问题,看了下代码应该目前只支持持单账号,对我来说没问题。 还有一点就是,用refresh_token的话,刷新时间没有必要每天一刷。看了下改动,因为在依赖上,主体程序上应该不太能判断。建议加个环境变量。可以自行控制每隔几天刷新。

PUID是7天有效期,和10天的公约数只有1了

@maxduke
Copy link

maxduke commented May 18, 2024

粗略测了下没问题,看了下代码应该目前只支持持单账号,对我来说没问题。 还有一点就是,用refresh_token的话,刷新时间没有必要每天一刷。看了下改动,因为在依赖上,主体程序上应该不太能判断。建议加个环境变量。可以自行控制每隔几天刷新。

PUID是7天有效期,和10天的公约数只有1了

我魔改的gochatgptapi 是7天一刷。可行么?

@xqdoo00o
Copy link
Owner

我魔改的gochatgptapi 是7天一刷。可行么?

一天一刷也没啥问题,懒得改了,而且支持多账号呀,cookies.json里设置多个账户名和refresh_token就好了

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants