{"id":413,"date":"2025-03-04T20:13:35","date_gmt":"2025-03-04T12:13:35","guid":{"rendered":"https:\/\/www.xiaoazeze.online\/?p=413"},"modified":"2025-03-11T00:24:26","modified_gmt":"2025-03-10T16:24:26","slug":"%e8%b0%83%e7%94%a8coze-api","status":"publish","type":"post","link":"https:\/\/www.xiaoazeze.online\/index.php\/2025\/03\/04\/%e8%b0%83%e7%94%a8coze-api\/","title":{"rendered":"\u8c03\u7528COZE API"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"413\" class=\"elementor elementor-413\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b3aee0c e-flex e-con-boxed e-con e-parent\" data-id=\"b3aee0c\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f0ca193 elementor-widget elementor-widget-html\" data-id=\"f0ca193\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"zh-CN\">\r\n<head>\r\n    <meta charset=\"UTF-8\">\r\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n    <title>\u667a\u80fd\u4f53\u56fe\u7247\u5904\u7406<\/title>\r\n    <style>\r\n        body {\r\n            font-family: Arial, sans-serif;\r\n            margin: 0;\r\n            padding: 20px;\r\n            background-color: #f4f4f4;\r\n        }\r\n        .container {\r\n            max-width: 600px;\r\n            margin: 0 auto;\r\n            background-color: #fff;\r\n            padding: 20px;\r\n            border-radius: 8px;\r\n            box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);\r\n        }\r\n        .response-area {\r\n            height: 200px;\r\n            border: 1px solid #ccc;\r\n            padding: 10px;\r\n            margin-bottom: 20px;\r\n            overflow-y: auto;\r\n            background-color: #f9f9f9;\r\n        }\r\n        .upload-area {\r\n            text-align: center;\r\n        }\r\n        .upload-area input[type=\"file\"] {\r\n            display: none;\r\n        }\r\n        .upload-area label {\r\n            display: inline-block;\r\n            padding: 10px 20px;\r\n            background-color: #007bff;\r\n            color: #fff;\r\n            border-radius: 5px;\r\n            cursor: pointer;\r\n        }\r\n        .upload-area label:hover {\r\n            background-color: #0056b3;\r\n        }\r\n        .send-button {\r\n            display: block;\r\n            width: 100%;\r\n            padding: 10px;\r\n            background-color: #28a745;\r\n            color: #fff;\r\n            border: none;\r\n            border-radius: 5px;\r\n            cursor: pointer;\r\n            margin-top: 10px;\r\n        }\r\n        .send-button:hover {\r\n            background-color: #218838;\r\n        }\r\n    <\/style>\r\n<\/head>\r\n<body>\r\n    <div class=\"container\">\r\n        <div class=\"response-area\" id=\"responseArea\">\r\n            <!-- \u667a\u80fd\u4f53\u8fd4\u56de\u7684\u5185\u5bb9\u5c06\u663e\u793a\u5728\u8fd9\u91cc -->\r\n        <\/div>\r\n        <div class=\"upload-area\">\r\n            <label for=\"fileInput\">\u9009\u62e9\u56fe\u7247<\/label>\r\n            <input type=\"file\" id=\"fileInput\" accept=\"image\/*\">\r\n            <button class=\"send-button\" id=\"sendButton\">\u53d1\u9001<\/button>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <script>\r\n        const botId = \"7477926538093051913\";\r\n        const pat = \"pat_ARrTa1bifuxCAGEYd3SGsjxKt60JaHIRZH8LwTRIUuY6AjcbLedPi6n3gtaC2MI0\";\r\n        const workflowId = \"20250228182539E74171CB5C8718ACDF95\";\r\n\r\n        document.getElementById('sendButton').addEventListener('click', async () => {\r\n            const fileInput = document.getElementById('fileInput');\r\n            if (fileInput.files.length === 0) {\r\n                alert('\u8bf7\u5148\u9009\u62e9\u4e00\u5f20\u56fe\u7247');\r\n                return;\r\n            }\r\n\r\n            const file = fileInput.files[0];\r\n            const formData = new FormData();\r\n            formData.append('file', file);\r\n\r\n            try {\r\n                \/\/ \u4e0a\u4f20\u56fe\u7247\r\n                const uploadResponse = await fetch('\/cors_proxy\/v3\/files', {\r\n                    method: 'POST',\r\n                    headers: {\r\n                        'Authorization': `Bearer ${pat}`\r\n                    },\r\n                    body: formData\r\n                });\r\n\r\n                const uploadResult = await uploadResponse.json();\r\n                if (!uploadResponse.ok) {\r\n                    throw new Error(uploadResult.message || '\u4e0a\u4f20\u56fe\u7247\u5931\u8d25');\r\n                }\r\n\r\n                const fileId = uploadResult.id;\r\n\r\n                \/\/ \u8c03\u7528\u5de5\u4f5c\u6d41\u5904\u7406\u56fe\u7247\r\n                const workflowResponse = await fetch('\/cors_proxy\/v3\/workflows\/run', {\r\n                    method: 'POST',\r\n                    headers: {\r\n                        'Authorization': `Bearer ${pat}`,\r\n                        'Content-Type': 'application\/json'\r\n                    },\r\n                    body: JSON.stringify({\r\n                        bot_id: botId,\r\n                        workflow_id: workflowId,\r\n                        inputs: {\r\n                            file_id: fileId\r\n                        }\r\n                    })\r\n                });\r\n\r\n                const workflowResult = await workflowResponse.json();\r\n                if (!workflowResponse.ok) {\r\n                    throw new Error(workflowResult.message || '\u8c03\u7528\u5de5\u4f5c\u6d41\u5931\u8d25');\r\n                }\r\n\r\n                \/\/ \u663e\u793a\u5904\u7406\u7ed3\u679c\r\n                const responseArea = document.getElementById('responseArea');\r\n                responseArea.innerHTML = `<pre>${JSON.stringify(workflowResult, null, 2)}<\/pre>`;\r\n            } catch (error) {\r\n                alert(`\u53d1\u751f\u9519\u8bef: ${error.message}`);\r\n            }\r\n        });\r\n    <\/script>\r\n<\/body>\r\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>\u667a\u80fd\u4f53\u56fe\u7247\u5904\u7406 \u9009\u62e9\u56fe\u7247 \u53d1\u9001<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-413","post","type-post","status-publish","format-standard","hentry","category-zhishi"],"_links":{"self":[{"href":"https:\/\/www.xiaoazeze.online\/index.php\/wp-json\/wp\/v2\/posts\/413","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.xiaoazeze.online\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.xiaoazeze.online\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.xiaoazeze.online\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.xiaoazeze.online\/index.php\/wp-json\/wp\/v2\/comments?post=413"}],"version-history":[{"count":122,"href":"https:\/\/www.xiaoazeze.online\/index.php\/wp-json\/wp\/v2\/posts\/413\/revisions"}],"predecessor-version":[{"id":555,"href":"https:\/\/www.xiaoazeze.online\/index.php\/wp-json\/wp\/v2\/posts\/413\/revisions\/555"}],"wp:attachment":[{"href":"https:\/\/www.xiaoazeze.online\/index.php\/wp-json\/wp\/v2\/media?parent=413"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.xiaoazeze.online\/index.php\/wp-json\/wp\/v2\/categories?post=413"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.xiaoazeze.online\/index.php\/wp-json\/wp\/v2\/tags?post=413"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}