0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何获取 OpenAI API Key?API 获取与代码调用示例 (详解教程)

技术程序猿华锋 ? 来源:jf_32321025 ? 作者:jf_32321025 ? 2025-05-04 11:42 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

OpenAI API Key 获取与使用详解:从入门到精通

OpenAI 正以其 GPT 和 DALL-E 等先进模型引领全球人工智能创新。其 API 为开发者和企业提供了强大的 AI 能力集成途径,催生了从智能聊天到复杂数据分析等前所未有的应用场景。OpenAI API Key 是开启这些能力的关键,它既是身份凭证,也是资源管理和安全保障的核心。然而,安全、高效地获取、管理和使用 API Key 并非易事。本指南旨在提供全面深入的技术指导,系统梳理 OpenAI API Key 的获取、类型、计费、安全及管理策略,助您从入门到精通,安全高效地驾驭 OpenAI 的强大力量。

一、理解 OpenAI API Key

1 什么是 OpenAI API Key?

OpenAI API Key 是一个唯一且保密的字符串,用于验证您对 OpenAI API(如 GPT-4o、DALL-E 等)的访问权限。当您的应用程序调用 OpenAI 模型时,必须在请求中包含此密钥,以便 OpenAI 服务器验证您的身份、授权访问并进行用量计费。API Key 通常以 sk-... 格式呈现,它如同连接开发者与 OpenAI 尖端 AI 技术的桥梁,屏蔽了底层复杂的机器学习和系统细节。

2 API Key 在访问 OpenAI 服务中的作用

身份验证 (Authentication): 每次 API 调用都需要通过 Authorization: Bearer YOUR_API_KEY HTTP 头部进行验证,以确认请求的合法性。

授权与权限管理 (Authorization & Permissions): API Key 关联着特定的权限。您可以通过项目和密钥设置进行细粒度控制,例如限制模型访问或将其设置为只读。

资源计量与计费 (Usage Metering & Billing): 所有通过 API Key 发起的请求都会被追踪并计量消耗(通常按 token 计费),并计入关联账户。这是按量付费的基础。

3 API Key 的重要性与敏感性

API Key 极其重要且高度敏感。它直接关系到您的账户安全和费用。一旦泄露,可能导致服务被滥用、产生巨额费用、耗尽配额,甚至被用于访问或篡改关联数据。因此,严禁共享 API Key,且绝不能将其暴露于客户端代码(浏览器、移动应用)或公共代码库中。 妥善保管 API Key 是使用 OpenAI 服务的基本前提和持续责任。

二、获取方式一:通过 OpenAI 官网获取 API Key(国际通用)

1 注册 OpenAI 账户

首先,访问 OpenAI 官网 (openai.com 或 platform.openai.com) 注册账户。您通常需要提供邮箱、密码及手机验证。请注意,API 平台账户(platform.openai.com)与 ChatGPT 用户账户(chatgpt.com)虽然可以使用相同的登录凭证,但服务和计费是独立的。ChatGPT Plus/Team 订阅不直接提供 API 额度,API 使用需要单独设置支付方式并按量付费。

2 导航至 API Key 管理页面

登录平台账户后,通常点击右上角的个人账户菜单,选择“View API keys”或类似选项,即可进入管理页面。

3 生成新的 Secret Key

在管理页面点击“Create new secret key”按钮。为密钥指定一个有意义的名称(如 MyWebApp-Prod)以便管理。确认后,系统将立即生成并显示完整的 Secret Key——这是唯一一次查看机会,务必立即复制并安全存储(如使用密码管理器或安全的环境变量)。 关闭窗口后将无法再次查看。

4 理解 Secret Key 与 API Key ID

生成的 Secret Key (sk-…) 是用于 API 请求认证的敏感凭证,必须严格保密。管理界面列表通常不显示完整的 Secret Key,而是显示密钥名称、创建/使用日期及 API Key ID (key_…)。API Key ID 是密钥的管理标识符,用于在界面或管理 API 中引用特定密钥(如查看用量、配置权限),而不用于认证

三、获取方式二:国内用户专属:UIUIAPI 助你畅享 OpenAI

1 为什么选择 UIUIAPI?

对于中国用户来说,直接访问 OpenAI 官方 API 可能会遇到网络不稳定、支付不便等问题。UIUIAPI 提供了一个专为国内用户优化的解决方案:

网络优化: UIUIAPI 部署了可访问调用的服务器,可以提供更稳定、更低延迟的 API 访问体验。

本地支付: 支持国内主流支付方式,无需国际信用卡,方便快捷。

中文客服: 提供中文客户支持,解决您在使用过程中遇到的任何问题。

简化流程: 注册和使用流程更加简单,无需复杂的网络配置。

价格透明: 价格与 OpenAI 官方基本一致,并可能提供更优惠的套餐。

2 注册 UIUIAPI 账号

访问 UIUIAPI 官方网站{uiuiapi.com}

点击 "注册" 按钮,按照提示填写信息完成注册。

3 获取 API 密钥

登录 UIUIAPI 账号。

在控制台中找到 API 密钥管理页面。

创建一个新的 API 密钥,并复制保存。

wKgZPGewXOCAbhajAADmAhWRDE8289.png

4.4 配置 base_url

UIUIAPI 相当于一个中间代理,将你的请求转发到 OpenAI。因此,在使用 OpenAI Python 库时,你需要将 base_url 参数设置为 UIUIAPI 提供的地址。

四、调用代码示例与安全存储 API Key

现在,您需要将刚才复制的 Secret Key 从临时位置转移到安全的长期存储中。强烈推荐使用环境变量。

Windows:

通过命令提示符 (cmd): 打开 cmd,运行命令 setx OPENAI_API_KEY "YOUR_API_KEY"(将 YOUR_API_KEY 替换为您复制的密钥)。关闭并重新打开一个新的 cmd 窗口后生效。您可以通过 echo %OPENAI_API_KEY% 验证。

通过系统属性:

右键点击“此电脑”或“我的电脑”,选择“属性”。

点击“高级系统设置”。

在“高级”选项卡下,点击“环境变量...”按钮。

在“用户变量”区域,点击“新建...”。

变量名输入 OPENAI_API_KEY,变量值输入您复制的密钥。

点击确定保存。

macOS / Linux (使用 Zsh 或 Bash):

打开终端。

运行命令 echo "export OPENAI_API_KEY='YOUR_API_KEY'" >> ~/.zshrc(如果您使用 Bash,则替换为 ~/.bashrc 或 ~/.bash_profile)。将 YOUR_API_KEY 替换为您的密钥。

运行 source ~/.zshrc(或对应的 bash 文件)使更改立即生效。

可以通过 echo $OPENAI_API_KEY 验证。

重要提示:确保包含密钥的环境变量配置文件(如 .env 文件)被添加到 .gitignore 中,永远不要提交到代码仓库。

五、在代码中使用 API Key

设置好环境变量后,OpenAI 官方 SDK(如 Python 和 Node.js 库)通常会自动读取 OPENAI_API_KEY 环境变量。

Python 示例:

安装 OpenAI Python 库:

pip install openai

创建 Python 文件 (例如 test_openai.py):

import openai
# API key is read automatically from the OPENAI_API_KEY env var
client = openai.OpenAI()
try:
   response = client.chat.completions.create(
       model="gpt-4o-mini",
       messages=[
           {"role": "system", "content": "You are a helpful assistant."},
           {"role": "user", "content": "What is an OpenAI API Key?"}
       ]
   )
   print("Model Response:")
   print(response.choices[0].message.content)
   if response.usage:
       print(f"nTokens used: {response.usage.total_tokens} (Prompt: {response.usage.prompt_tokens}, Completion: {response.usage.completion_tokens})")
except Exception as e:
   print(f"An error occurred: {e}")

在终端中运行脚本:

python test_openai.py

cURL 示例:

在设置了 OPENAI_API_KEY 环境变量的终端中,可以直接使用 $OPENAI_API_KEY。

curl https://sg.uiuiapi.com/v1/chat/completions 
 -H "Content-Type: application/json" 
 -H "Authorization: Bearer $OPENAI_API_KEY" 
 -d '{
   "model": "gpt-4o-mini",
   "messages": [
     {"role": "system", "content": "You are a helpful assistant."},
     {"role": "user", "content": "What is an OpenAI API Key?"}
   ]
 }'

六、常见问题解答 (FAQ)

Q1: 为什么我收到 401 Unauthorized 错误?

A: 可能原因包括:API Key 不正确或复制粘贴时出错;密钥未正确保存或加载(特别是环境变量未设置或未导出);密钥已被撤销或删除;账户未激活或支付方式无效。请仔细检查密钥和代码中的配置。

Q2: 为什么我收到 429 Rate Limit Exceeded 错误?

A: 您超出了账户或项目设定的每分钟请求数 (RPM) 或每分钟 token 数 (TPM) 限制。请检查您在 OpenAI 平台的“Limits”页面确认具体限制,并考虑在代码中实施指数退避重试逻辑。对于大量请求,考虑使用 Batch API 或优化请求批处理。

Q3: 为什么我收到 "You exceeded your current quota" 或类似错误?

A: 这通常意味着您的账户没有足够的资金来支付 API 调用。可能原因:未添加有效的支付方式;预付费额度已用完;达到了设置的月度硬性预算上限。请检查您的 Billing 设置,确保有可用资金或额度。

Q4: 我丢失了我的 Secret Key,可以恢复吗?

A: 不可以。出于安全原因,OpenAI 不会存储或允许您再次查看完整的 Secret Key。如果您丢失了密钥,唯一的办法是生成一个新的 Secret Key,并用新密钥更新所有使用旧密钥的应用程序。

Q5: 我可以用我的 ChatGPT Plus/Team 订阅来支付 API 费用吗?

A: 不可以。ChatGPT 订阅(如 Plus, Team, Enterprise)和 OpenAI API 平台是分开计费的。API 使用需要单独设置支付方式(后付费或预付费)并按实际 token 使用量付费。

Q6: 我在哪里可以查看我的 API 使用量?

A: 您可以在 OpenAI 平台的账户设置下的 “Usage” 页面查看详细的使用情况和成本报告。这提供了按时间、模型、API Key 等维度的视图。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • API
    API
    +关注

    关注

    2

    文章

    1641

    浏览量

    64132
  • key
    key
    +关注

    关注

    0

    文章

    53

    浏览量

    13099
  • OpenAI
    +关注

    关注

    9

    文章

    1211

    浏览量

    8963
  • ChatGPT
    +关注

    关注

    29

    文章

    1590

    浏览量

    9148
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    产品评论获取API接口

    、实现步骤和实用示例。 什么是产品评论API接口? API(应用程序编程接口)是软件系统间交互的桥梁。产品评论API允许开发者通过标准请求,从电商平台(如Amazon、淘宝或自建系统)
    的头像 发表于 07-25 14:26 ?96次阅读
    产品评论<b class='flag-5'>获取</b><b class='flag-5'>API</b>接口

    产品添加与上架API接口设计指南

    将以RESTful API为例,使用JSON数据格式,并提供Python代码示例。 1. API接口概述 API接口允许开发者通过HTTP请
    的头像 发表于 07-24 14:45 ?115次阅读
    产品添加与上架<b class='flag-5'>API</b>接口设计指南

    产品详情查询API接口

    ? 在现代电子商务和软件开发中,产品详情查询API接口扮演着至关重要的角色。它允许开发者通过编程方式从远程服务器获取产品的详细信息,如名称、价格、描述和库存状态等。这种接口通常基于RESTful架构
    的头像 发表于 07-24 14:39 ?61次阅读
    产品详情查询<b class='flag-5'>API</b>接口

    产品列表获取API接口详解

    ? 在现代软件开发中,API(应用程序编程接口)是获取产品列表的核心工具,它允许开发者从远程服务器高效地检索数据。本文将逐步介绍如何设计和使用产品列表获取API接口,包括核心概念、实现
    的头像 发表于 07-24 14:29 ?119次阅读
    产品列表<b class='flag-5'>获取</b><b class='flag-5'>API</b>接口<b class='flag-5'>详解</b>

    API技术助力跨境电商破解物流困局

    与 自动化流程 ,正在重构跨境物流体验。 一、实时追踪:终结物流“黑箱”状态 ? # 调用物流API获取全链路状态(示例)import requestsdef track_shipm
    的头像 发表于 07-17 14:26 ?100次阅读
    <b class='flag-5'>API</b>技术助力跨境电商破解物流困局

    鸿蒙NEXT-API19获取上下文,在class中和ability中获取上下文,API迁移示例-解决无法在EntryAbility中无法使用最新版

    摘要:随着鸿蒙系统API升级至16版本(modelVersion5.1.1),多项API已废弃。获取上下文需使用UIContext,具体方法包括:在组件中使用getUIContext(),在类中使
    的头像 发表于 07-01 10:57 ?222次阅读
    鸿蒙NEXT-<b class='flag-5'>API</b>19<b class='flag-5'>获取</b>上下文,在class中和ability中<b class='flag-5'>获取</b>上下文,<b class='flag-5'>API</b>迁移<b class='flag-5'>示例</b>-解决无法在EntryAbility中无法使用最新版

    如何获取XferData的错误代码

    我正在使用 FX3 EVM,并将把该产品用于我公司的某种产品。我有一个类似标题的问题。如何获取XferData的错误代码 原型如下 bool CCyUSBEndPoint::XferData
    发表于 04-30 08:27

    零基础也能学会!OpenAI API Key 获取与沉浸式翻译插件配置教程

    引言:告别语言障碍,拥抱无限世界 在信息爆炸的时代,语言不应再成为我们探索世界、获取知识的阻碍。想象一下,无论是浏览英文网站的前沿科技资讯,还是观看西班牙语电影的精彩剧情,亦或是研读德语的专业文献
    的头像 发表于 04-14 18:30 ?503次阅读
    零基础也能学会!<b class='flag-5'>OpenAI</b> <b class='flag-5'>API</b> <b class='flag-5'>Key</b> <b class='flag-5'>获取</b>与沉浸式翻译插件配置教程

    Claude 3.7:编码助手首选,claude api key如何申请获取与深度解析*

    核心看点 混合推理引擎 :Claude 3.7 融合快速代码生成与深度问题解决能力,实现“快思考”与“深思考”的无缝切换。 便捷API访问 :三步快速获取Claude 3.7 API
    的头像 发表于 03-24 09:43 ?1004次阅读
    Claude 3.7:编码助手首选,claude <b class='flag-5'>api</b> <b class='flag-5'>key</b>如何申请<b class='flag-5'>获取</b>与深度解析*

    如何获取SMBus示例代码

    想找一个用硬件SMBus外设的示例代码,但是在网上找到的很多都是HAL库的版本,我目前的代码是用的标准库,想知道ST官方有没有相关的示例代码
    发表于 03-10 07:16

    openai api key获取的三种方案(有一种可以白嫖到 api key

    OpenAI API Key 全攻略:官方获取、费用详解与“白嫖”实战 引言: 想要体验 OpenAI
    的头像 发表于 02-24 22:16 ?9988次阅读
    <b class='flag-5'>openai</b> <b class='flag-5'>api</b> <b class='flag-5'>key</b><b class='flag-5'>获取</b>的三种方案(有一种可以白嫖到 <b class='flag-5'>api</b> <b class='flag-5'>key</b>)

    OpenAI API Key 获取全攻略:入门、精通与详解教程(国内开发者优化版)

    引言: 想象一下:只需几行代码,你的应用就能像 ChatGPT 一样智能对话;输入几个关键词,瞬间生成引人入胜的文案;上传一张图片,AI 就能理解并分析…… 这不是科幻,而是 OpenAI API
    的头像 发表于 02-15 17:26 ?3672次阅读
    <b class='flag-5'>OpenAI</b> <b class='flag-5'>API</b> <b class='flag-5'>Key</b> <b class='flag-5'>获取</b>全攻略:入门、精通与<b class='flag-5'>详解</b>教程(国内开发者优化版)

    OpenAI宣布API恢复运行,ChatGPT正在逐步回归

    近日,OpenAI官方发布了一则重要更新说明,宣布其API系统现已全面恢复运行,同时确认ChatGPT服务正在逐步恢复中。这一消息对于众多依赖OpenAI服务的用户来说,无疑是一个好消息。 早些时候
    的头像 发表于 12-28 14:41 ?861次阅读

    如何利用python和API查询IP地址?

    库和IP地址查询API(例如IPinfo.io或ipapi.co等)的示例代码。请注意,为了使用这些API,您可能需要注册并获取一个
    发表于 08-28 11:55

    OpenAI api key获取并可调用GPT-4.0、GPT-4o、GPT-4omini

    前言 在这篇文章中,我们将详细介绍如何申请OpenAI的GPT-4.0 API Key。通过这个教程,你将能够轻松获取OpenAI
    的头像 发表于 08-06 15:16 ?4599次阅读
    <b class='flag-5'>OpenAI</b> <b class='flag-5'>api</b> <b class='flag-5'>key</b><b class='flag-5'>获取</b>并可<b class='flag-5'>调用</b>GPT-4.0、GPT-4o、GPT-4omini