【python】使用apikey查询OpenAi可用余额

2023.04.02似乎官方禁用了之前的获取方式,通过https://api.openai.com/dashboard/billing/credit_grants将会得到如下回复

Your request to GET /dashboard/billing/credit_grants must be made with a session key (that is, it can only be made from the browser). You made it with the following key type: secret.

可将实现方式改为如下

	apikey = ""
    subscription_url = "https://api.openai.com/v1/dashboard/billing/subscription"
    headers = {
        "Authorization": "Bearer " + apikey,
        "Content-Type": "application/json"
    }
    subscription_response = requests.get(subscription_url, headers=headers)
    if subscription_response.status_code == 200:
        data = subscription_response.json()
        total = data.get("hard_limit_usd")
    else:
        return subscription_response.text

    # start_date设置为今天日期前99天
    start_date = (datetime.datetime.now() - datetime.timedelta(days=99)).strftime("%Y-%m-%d")
    # end_date设置为今天日期+1
    end_date = (datetime.datetime.now() + datetime.timedelta(days=1)).strftime("%Y-%m-%d")
    billing_url = f"https://api.openai.com/v1/dashboard/billing/usage?start_date={start_date}&end_date={end_date}"
    billing_response = requests.get(billing_url, headers=headers)
    if billing_response.status_code == 200:
        data = billing_response.json()
        total_usage = data.get("total_usage") / 100
        daily_costs = data.get("daily_costs")
        days = min(5, len(daily_costs))
        recent = f"##### 最近{days}天使用情况  \n"
        for i in range(days):
            cur = daily_costs[-i-1]
            date = datetime.datetime.fromtimestamp(cur.get("timestamp")).strftime("%Y-%m-%d")
            line_items = cur.get("line_items")
            cost = 0
            for item in line_items:
                cost += item.get("cost")
            recent += f"\t{date}\t{cost / 100} \n"
    else:
        return billing_response.text

    return f"\n#### 总额:\t{total:.4f}  \n" \
                f"#### 已用:\t{total_usage:.4f}  \n" \
                f"#### 剩余:\t{total-total_usage:.4f}  \n" \
                f"\n"+recent

返回示例如下:from https://github.com/LiangYang666/ChatGPT-Web
在这里插入图片描述

  • 11
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
### 回答1: 要使用API OpenAI进行批量查询账户余额的HTML源码,我们需要先导入所需的库和模块。以下是一个简单的Python代码示例,该代码将使用OpenAI GPT生成HTML源码来批量查询账户余额。 ```python import openai def get_account_balance_html(accounts): html_code = "<html>\n<head>\n<title>Account Balances</title>\n</head>\n<body>\n" for account in accounts: # 使用OpenAI GPT生成查询账户余额的HTML源码 prompt = f"What is the balance of account {account}?" # 构建查询账户余额的提示 response = openai.Completion.create( engine="davinci", prompt=prompt, max_tokens=100, n=1, stop=None, temperature=0.7 ) balance = response.choices[0].text.strip() # 获取生成的账户余额 # 将账户余额添加到HTML源码中 html_code += f"<p>{account}: {balance}</p>\n" html_code += "</body>\n</html>" return html_code # 账户列表 accounts = ['A', 'B', 'C'] # 调用函数生成HTML源码 result_html = get_account_balance_html(accounts) # 打印结果 print(result_html) ``` 上述代码中,我们首先导入了OpenAI库。然后,我们定义了一个名为`get_account_balance_html`的函数,该函数接收一个账户列表作为参数,然后使用OpenAI GPT生成HTML源码。 在函数中,我们遍历每个账户,并使用OpenAI GPT生成查询账户余额的提示,并设置生成的最大令牌数、温度等参数。我们从生成的响应中提取账户余额,并将其添加到HTML源码字符串中。 最后,我们将生成的HTML源码返回并打印结果。 请注意,代码片段中的OpenAI API密钥和模型引擎设置需要根据您自己的具体情况进行修改和填充。还要记得在OpenAI GPT API上拥有足够的访问权限,以便能够成功使用api OpenAI批量查询账户余额的HTML源码。 ### 回答2: 要使用OpenAI API进行批量查询账户余额的HTML源码,你可以按照以下步骤进行操作。 首先,你需要创建一个HTML页面,并设置基本的结构和样式。在HTML的`<body>`标签内,可以添加一个表格来展示账户余额的结果。 接下来,使用JavaScript与OpenAI API进行通信。你可以使用`fetch()`函数发送GET请求到OpenAIAPI端点,并提供账户余额查询的相关参数。 在请求中,你需要提供你的API密钥,以便进行身份验证。API密钥是你在OpenAI官方网站上创建账户时生成的。 当收到API的响应后,可以使用JavaScript处理返回的数据。你可以解析JSON格式的响应,并提取出账户余额信息。 最后,将提取出的账户余额信息动态添加到表格中,以便在HTML页面中展示出来。你可以使用JavaScript来生成HTML元素,并将其添加到表格的行中。 在整个过程中,你可以根据需要进行一些错误处理和数据验证。例如,确保API请求成功且返回了正确的数据,以及处理可能出现的错误信息。 总结: 以上是使用OpenAI API来批量查询账户余额的简要过程。你需要创建一个基本的HTML页面,使用JavaScript与OpenAI进行通信,并将查询结果动态展示在页面上。这样,你就可以通过查看HTML的源码来获取这个功能的实现细节。 ### 回答3: 要通过API OpenAI批量查询账户余额的HTML源代码,你可以使用以下方法: 首先,你需要使用特定的编程语言(如Python)来编写代码。在代码中,你需要导入OpenAI的相关库和模块,以便能够使用其提供的功能。 接下来,你需要创建一个函数或方法,用于进行账户余额的批量查询。该函数应包含以下步骤: 1. 引用OpenAIAPI密钥:你需要使用OpenAI提供的API密钥来进行身份验证和授权。在代码中,你可以将API密钥保存在一个变量中,以便在后续步骤中使用。 2. 创建HTTP请求:使用HTTP库,例如Python中的`requests`库,创建一个GET请求,向OpenAI的服务器发送查询账户余额的请求。请求的URL应该是OpenAIAPI服务地址加上相应的查询参数。 3. 发送请求并接收响应:发送创建的HTTP请求并等待服务器的响应。你可以使用`requests`库中的`get()`方法来发送请求,并使用`response`对象来接收响应。 4. 处理响应的HTML源码:一旦你收到服务器的响应,在`response`对象中,你可以通过调用`response.text`方法来获得响应的HTML源码。将该源码存储在一个变量中,以便进行进一步的处理和分析。 5. 处理账户余额数据:使用适当的解析库(如BeautifulSoup)来从HTML源码中提取所需的账户余额数据。通过分析HTML标记和类名,你可以使用解析库中的相应方法来获取所需的数据。 6. 输出或存储余额数据:最后,你可以将账户余额数据输出到控制台上,以供查看。如果需要,你还可以将数据存储到文件或数据库中,以备将来使用。 以上是使用API OpenAI批量查询账户余额的HTML源代码的基本步骤。具体的实现方式可能会依赖于所使用的编程语言和相关库的具体文档和示例代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值