HarmonyOS鸿蒙NEXT怎么简单调用扣子工作流接口?

HarmonyOS鸿蒙NEXT怎么简单调用扣子工作流接口? 问题描述:想调用扣子工作流的 HTTP 接口,传递参数并获取执行结果,简单实现? 关键字:鸿蒙 NEXT、扣子工作流、接口调用

3 回复

回答:

鸿蒙 NEXT 调用扣子工作流接口,核心是配置网络权限 + 发送 POST 请求(带鉴权 token 和入参) + 解析 JSON 结果,代码极简,仅需核心几步就能实现:

第一步:配置网络权限(module.json5)

先声明INTERNET权限,否则无法调用网络接口:

{
  "module": {
    "requestPermissions": [
      { "name": "ohos.permission.INTERNET" }
    ]
  }
}

第二步:核心调用代码(传参 + 获取结果)

import http from '@ohos.net.http';

// 简单调用扣子工作流接口
async callKouziWorkflow() {
  // 1. 创建HTTP客户端
  const httpClient = http.createHttp();
  try {
    // 2. 发送POST请求(替换为自己的配置)
    const res = await httpClient.request('https://www.kuaishou.com/openapi/v1/workflow/run', {
      method: http.RequestMethod.POST,
      // 请求头(鉴权+数据格式)
      header: {
        'Content-Type': 'application/json',
        'Authorization': 'Bearer 你的扣子工作流token' // 关键:Bearer + 空格 + token
      },
      // 传递工作流参数(input里放自定义入参)
      extraData: JSON.stringify({
        workflow_id: '你的工作流ID', // 扣子平台复制的工作流ID
        input: { name: '测试', age: 20 } // 工作流需要的入参(按需改)
      })
    });

    // 3. 解析返回结果
    const rawData = new TextDecoder().decode(res.result); // 二进制转字符串
    const result = JSON.parse(rawData); // 转JSON对象
    console.log('工作流执行结果:', result);
    return result;
  } catch (err) {
    console.log('调用失败:', err.message);
  } finally {
    // 4. 释放资源(必做)
    httpClient.destroy();
  }
}

// 调用示例
// this.callKouziWorkflow();

关键说明:

  1. 核心参数:
    • tokenworkflow_id:从扣子平台获取(工作流详情页可查);
    • input:放工作流需要的自定义参数,格式要和工作流入参规则一致;
  2. 响应解析:鸿蒙 HTTP 响应的result是二进制数组,必须用TextDecoder转字符串后再解析 JSON。

避坑点:

  1. Authorization格式:必须是Bearer + 空格 + token,少空格会直接鉴权失败;
  2. 入参格式:extraData需传 JSON 字符串(用JSON.stringify),不能直接传对象;
  3. 网络问题:确保设备联网,且扣子工作流已发布(未发布的草稿无法调用)。

更多关于HarmonyOS鸿蒙NEXT怎么简单调用扣子工作流接口?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS NEXT中调用扣子工作流接口,需使用ArkTS语言。首先安装@koozi/workflow SDK,通过ohpm包管理器执行ohpm install [@koozi](/user/koozi)/workflow。然后在代码中导入并初始化工作流客户端,配置API密钥与端点。使用WorkflowClient实例调用execute方法,传入工作流ID与参数数据即可触发执行。注意网络权限需在module.json5中声明。

在HarmonyOS NEXT中调用扣子(Bozh)工作流HTTP接口,可通过[@ohos](/user/ohos).net.http模块实现。以下是关键步骤:

  1. 导入模块

    import http from '[@ohos](/user/ohos).net.http';
    
  2. 创建HTTP请求

    let httpRequest = http.createHttp();
    
  3. 设置请求参数(以POST为例):

    let options = {
      method: http.RequestMethod.POST,
      header: { 'Content-Type': 'application/json' },
      extraData: JSON.stringify({ key: 'value' }) // 工作流参数
    };
    
  4. 发送请求并处理响应

    httpRequest.request('https://api.bozh.com/workflow', options)
      .then((response) => {
        if (response.responseCode === 200) {
          let result = JSON.parse(response.result.toString());
          // 处理工作流返回结果
        }
      })
      .catch((err) => {
        console.error('请求失败:', err);
      });
    

注意

  • 需在module.json5中声明网络权限:"requestPermissions": [{ "name": "ohos.permission.INTERNET" }]
  • 扣子工作流接口地址和参数格式需参考其官方API文档
  • 异步操作建议使用Promise或async/await处理

此方法直接使用HarmonyOS原生HTTP能力,无需额外依赖库。

回到顶部