> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coze.cn/llms.txt
> Use this file to discover all available pages before exploring further.

Coze API SDK for Java 是一个扣子官方提供的 SDK 工具包，你可以通过 Java SDK 将扣子的 OpenAPI 集成到你的应用程序中。Coze Java SDK 支持所有扣子的官方鉴权方式，具备高度的灵活性和高可用性，显著提升 OpenAPI 的使用效率。你可以通过 maven 仓库快速安装 Coze Java SDK，用你的访问密钥初始化 SDK，然后就可以开始安全、高效地通过 OpenAPI 访问你的 AI 智能体。
Coze Java SDK 遵循用户友好的设计风格，可简化你的开发工作，且适用于所有技能水平开发者使用。
## 源码地址 {#22a61062}
访问 [GitHub](https://github.com/coze-dev/coze-java) 获取 Coze API SDK for Java 源码。
:::notice 注意
从扣子 GitHub 仓库获取的源码和示例代码中，`base_url` 默认设置为域名 `COZE_COM_BASE_URL`，使用源码前应手动将其修改为域名 `COZE_CN_BASE_URL`。
:::
## 示例代码 {#05bfc7c7}
Coze Java SDK 提供各种授权方式、各种使用方式的示例代码，便于开发者直接参考使用。
:::tip 说明
* Coze Java SDK 支持扣子所有 OpenAPI，对应的 API 文档可参考 [API 介绍](/developer_guides/coze_api_overview)。
* 示例代码将持续更新和补充，各种场景的 Coze Java SDK **最新版本**示例代码可参考 [GitHub](https://github.com/coze-dev/coze-java)。
:::
常见场景的示例代码及说明如下：
<!-- @cols-width: 121,200,403 -->
| | | | \
|**模块** |**示例文件** |**说明** |
|---|---|---|
| | | | \
|授权 |[TokenAuthExample.java](https://github.com/coze-dev/coze-java/blob/main/example/src/main/java/example/auth/TokenAuthExample.java) |通过个人访问密钥实现 OpenAPI 鉴权。 |
|^^| | | \
| |[WebOAuthExample.java](https://github.com/coze-dev/coze-java/blob/main/example/src/main/java/example/auth/WebOAuthExample.java) |通过 OAuth 授权码方式实现授权与 OpenAPI 鉴权。 |
|^^| | | \
| |[JWTsOauthExample.java](https://github.com/coze-dev/coze-java/blob/main/example/src/main/java/example/auth/JWTOAuthExample.java) |通过 OAuth JWT 方式实现授权与 OpenAPI 鉴权。 |
|^^| | | \
| |[PKCEOauthExample.java](https://github.com/coze-dev/coze-java/blob/main/example/src/main/java/example/auth/PKCEOAuthExample.java) |通过 OAuth PKCE 方式实现授权与 OpenAPI 鉴权。 |
|^^| | | \
| |[DevicesOAuthExample.java](https://github.com/coze-dev/coze-java/blob/main/example/src/main/java/example/auth/DevicesOAuthExample.java) |通过 OAuth 设备码方式实现授权与 OpenAPI 鉴权。 |
| | | | \
|对话 |[ChatExample.java](https://github.com/coze-dev/coze-java/blob/main/example/src/main/java/example/chat/ChatExample.java) |发起对话，响应方式为非流式响应。 |
|^^| | | \
| |[StreamChatExample.java](https://github.com/coze-dev/coze-java/blob/main/example/src/main/java/example/chat/StreamChatExample.java) |发起对话，响应方式为流式响应。 |
|^^| | | \
| |[ChatWithImageExample.java](https://github.com/coze-dev/coze-java/blob/main/example/src/main/java/example/chat/ChatWithImageExample.java) |发起对话，对话中上传文件，并发送多模态内容。 |
|^^| | | \
| |[SubmitToolOutputExample.java](https://github.com/coze-dev/coze-java/blob/main/example/src/main/java/example/chat/SubmitToolOutputExample.java) |端插件。 |
| | | | \
|会话与消息管理 |[CreateConversationExample.java](https://github.com/coze-dev/coze-java/blob/main/example/src/main/java/example/conversation/ConversationCreateExample.java) |创建会话。 |
|^^| | | \
| |[ListConversationsExample.java](https://github.com/coze-dev/coze-java/blob/main/example/src/main/java/example/conversation/ConversationsListExample.java) |查询会话列表。 |
|^^| | | \
| |[MessageCrudExample.java](https://github.com/coze-dev/coze-java/blob/main/example/src/main/java/example/conversation/message/MessageCrudExample.java) |创建、更新、删除消息。 |
|^^| | | \
| |[MessageListExample.java](https://github.com/coze-dev/coze-java/blob/main/example/src/main/java/example/conversation/message/MessageListExample.java) |查询指定对话中的消息列表。 |
| | | | \
|工作流 |[RunWorkflowExample.java](https://github.com/coze-dev/coze-java/blob/main/example/src/main/java/example/workflow/RunWorkflowExample.java) |运行工作流，响应方式为非流式响应。 |
|^^| | | \
| |[StreamWorkflowExample.java](https://github.com/coze-dev/coze-java/blob/main/example/src/main/java/example/workflow/StreamWorkflowExample.java) |运行工作流，响应方式为流式响应，且工作流中包含问答节点。 |
|^^| | | \
| |[StreamWorkflowChatExample.java](https://github.com/coze-dev/coze-java/blob/main/example/src/main/java/example/workflow/StreamWorkflowChatExample.java) |运行对话流。 |
|^^| | | \
| |[AsyncRunWorkflowExample.java](https://github.com/coze-dev/coze-java/blob/main/example/src/main/java/example/workflow/AsyncRunWorkflowExample.java) |异步运行工作流。 |
| | | | \
|智能体管理 |[BotPublishExample.java](https://github.com/coze-dev/coze-java/blob/main/example/src/main/java/example/bot/BotPublishExample.java) |创建一个草稿状态的智能体，更新智能体，并发布智能体为 API 服务。 |
| | | | \
|语音 |[AudioRoomsCreateExample.java](https://github.com/coze-dev/coze-java/blob/main/example/src/main/java/example/audio/room/AudioRoomsCreateExample.java) |RTC 音视频通话场景中，创建音视频房间。 |
|^^| | | \
| |[SpeechCreateExample.java](https://github.com/coze-dev/coze-java/blob/main/example/src/main/java/example/audio/speech/SpeechCreateExample.java) |语音合成，将文本转为语音，并将生成的语音保存为音频文件。 |
|^^| | | \
| |[CreateTranscriptionExample.java](https://github.com/coze-dev/coze-java/blob/main/example/src/main/java/example/audio/transcriptions/CreateTranscriptionExample.java) |语音识别，将指定音频文件转录为文本。 |
|^^| | | \
| |[VoiceCloneExample.java](https://github.com/coze-dev/coze-java/blob/main/example/src/main/java/example/audio/voice/VoiceCloneExample.java) |克隆音色。 |
|^^| | | \
| |[VoiceListExample.java](https://github.com/coze-dev/coze-java/blob/main/example/src/main/java/example/audio/voice/VoiceListExample.java) |查询音色列表。 |
| | | | \
|WebSocket 语音通话 |[ChatExample.java](https://github.com/coze-dev/coze-java/blob/main/example/src/main/java/example/websocket/chat/ChatExample.java) |WebSocket 语音通话。 |
|^^| | | \
| |[WebsocketAudioSpeechExample.java](https://github.com/coze-dev/coze-java/blob/main/example/src/main/java/example/websocket/audio/speech/WebsocketAudioSpeechExample.java) |语音合成，将文本转为语音，并将生成的语音保存为音频文件。 |
|^^| | | \
| |[WebsocketTranscriptionsExample.java](https://github.com/coze-dev/coze-java/blob/main/example/src/main/java/example/websocket/audio/transcriptions/WebsocketTranscriptionsExample.java) |语音识别，将指定音频文件转录为文本。 |
| | | | \
|工作空间 |[ListWorkspaceExample.java](https://github.com/coze-dev/coze-java/blob/main/example/src/main/java/example/workspace/WorkspaceListExample.java) |查询工作空间列表。 |
| | | | \
|知识库 |[DatasetCrudExample.java](https://github.com/coze-dev/coze-java/blob/main/example/src/main/java/example/datasets/DatasetCrudExample.java) |创建、更新和删除知识库。 |
|^^| | | \
| |[DatasetListExample.java](https://github.com/coze-dev/coze-java/blob/main/example/src/main/java/example/datasets/DatasetListExample.java) |查询指定工作空间下的知识库。 |
|^^| | | \
| |[datasets/image](https://github.com/coze-dev/coze-java/tree/main/example/src/main/java/example/datasets/image) |图片知识库管理，包含： |\
| | | |\
| | |* 上传图片类型的知识库文件。 |\
| | |* 更新知识库的图片描述。 |\
| | |* 查看知识库图片列表。 |
|^^| | | \
| |[datasets/document](https://github.com/coze-dev/coze-java/tree/main/example/src/main/java/example/datasets/document) |文本知识库管理，包含： |\
| | | |\
| | |* 上传文本类型的知识库文件。 |\
| | |* 查询、修改和删除文本知识库文件。 |
| | | | \
|文件 |[FileExample.java](https://github.com/coze-dev/coze-java/blob/main/example/src/main/java/example/file/FileExample.java) |文件上传，包含： |\
| | | |\
| | |* 文件上传。 |\
| | |* 获取文件详情。 |
| | | | \
|变量 |[VariableExample.java](https://github.com/coze-dev/coze-java/blob/main/example/src/main/java/example/variables/VariableExample.java) |变量管理，包含： |\
| | | |\
| | |* 获取用户变量的值。 |\
| | |* 设置用户变量的值。 |
| | | | \
|复制模板 |[TemplateDuplicateExample.java](https://github.com/coze-dev/coze-java/blob/main/example/src/main/java/example/template/TemplateDuplicateExample.java) |复制商店中的模板到指定工作空间。 |
| | | | \
|账单和权益额度 |[benefit/bill/CrudExample.java](https://github.com/coze-dev/coze-java/blob/main/example/src/main/java/example/commerce/benefit/bill/CrudExample.java) |导出账单并查询账单文件。 |
|^^| | | \
| |[benefit/limitations/CrudExample.java](https://github.com/coze-dev/coze-java/blob/main/example/src/main/java/example/commerce/benefit/limitations/CrudExample.java) |创建、查询、更新硬件设备的权益额度。 |
| | | | \
|异常处理 |[HandlerExceptionExample.java](https://github.com/coze-dev/coze-java/blob/main/example/src/main/java/example/auth/HandlerExceptionExample.java) |处理 API 异常。 |
| | | | \
|客户端管理 |[HandlerExceptionExample.java](https://github.com/coze-dev/coze-java/blob/main/example/src/main/java/example/auth/HandlerExceptionExample.java) |修改日志级别。 |
|^^| | | \
| |[SetRequestTimeoutExample.java](https://github.com/coze-dev/coze-java/blob/main/example/src/main/java/example/service/SetRequestTimeoutExample.java) |设置请求超时时间。 |
|^^| | | \
| |[InitServiceExample.java](https://github.com/coze-dev/coze-java/blob/main/example/src/main/java/example/service/InitClientExample.java) |初始化客户端。 |

## 异常处理 {#dcc539a5}
当调用 API 失败时，SDK 会抛出 [CozeAPIException](https://github.com/coze-dev/coze-java/blob/main/api/src/main/java/com/coze/openapi/client/exception/CozeApiExcetion.java) 异常；当鉴权失败的时候，SDK 会抛出 [CozeAuthException](https://github.com/coze-dev/coze-java/blob/main/api/src/main/java/com/coze/openapi/client/exception/CozeAuthException.java) 异常。开发者可以根据自己的需求捕获对应的异常，其中 [CozeAPIException](https://github.com/coze-dev/coze-java/blob/main/api/src/main/java/com/coze/openapi/client/exception/CozeApiExcetion.java) 异常会获取到异常接口的错误码，API 错误码的相关说明及处理方式可参考[错误码](/developer_guides/coze_error_codes)。
