【问题标题】:How to write a Java application with processMaker 4.0 API?如何使用 processMaker 4.0 API 编写 Java 应用程序?
【发布时间】:2023-02-03 05:44:44
【问题描述】:

早上好,

我已经下载并安装了 pm4-core docker 镜像并安装了它。 我可以毫无问题地运行 PM4、创建和管理我的 pm4 实例,但我想开发一个使用 PM 4 restful API 来编辑一些过程数据的 java 程序。 我在 YouTube 上搜索,但我发现了一些关于 PM 3.2 而不是 4 的 restful api 用法。 此外,在“Auth client”部分,缺少“Enable direct API access”选项。

有人有一段用 java、kotlin、C#、swift 等编写的简单代码,可以验证并使用 RESTful PM4 API 与之共享吗?

【问题讨论】:

  • ProcessMaker 4 具有针对此用例的原生 SDK!如果您想了解更多关于我们与 API 交互的 SDK,我们明天将有一个关于这个主题的直播。如果可以的话,您可以通过收听或稍后在我们的频道上观看录音来获得很多价值。 youtu.be/rR79byOjSYo

标签: java rest authentication processmaker processmaker-api


【解决方案1】:

您可以通过登录 processmaker 4 然后访问以下 url http://youserver:yourport/api/documentation 来访问 restful API 文档。 您应该会看到一个 swager 屏幕,您可以在其中看到 Restfull 端点和它们采用的参数。如果单击自动按钮,您甚至可以从那里执行调用。

为了能够通过身份验证来访问 API,您首先需要创建一个 Auth Client 并启用密码授予。

创建 Auth 客户端后,请记下客户端 ID(数字而不是您在创建客户端时提供的名称)和密码。

您可以通过向 url https://yourhostname/oauth/token 发送内容类型为“application/json”和以下正文内容的 post 请求来获取 access_token 和 refresh_tokens:

{
  "grant_type": "password",
  "scope": "*",
  "client_id": 6,
  "client_secret": "zBBO.........30p0iHQ3",
  "username": "yourusername",
  "password": "yourpassword"
}

当然,您必须将 client_id、密钥、用户名和密码替换为您的特定值。

【讨论】:

  • 是的,我看到了,但我不知道如何管理身份验证。使用 PM3,我可以轻松地为我的第三方应用程序创建 OAuth clientID。如果我以管理员身份进入,我会看到 Auth Client 部分,但我不知道如何创建客户端 ID 和密钥以让我的第三方应用程序将其用作身份验证。一些例子?
  • 您是否已经按照processmaker.gitbook.io/processmaker/… 中的描述创建了经过身份验证的客户端?
  • 我已经扩展了我的答案。希望这可以帮助。这是用于基本密码验证。
  • 是的!有效。这就是我需要的!我使用 OkHttp 和 Gson 库构建了一个简单的 Java 应用程序,该应用程序对环境变量进行身份验证并执行 GET 以进行测试。非常感谢!
  • 我很高兴它奏效了。我是 processmaker 的新手,您有在 processmaker 中开发 PHP 脚本任务的经验吗?
【解决方案2】:

我在访问 https://your hostname/oauth/token 时遇到问题我正在尝试使用邮递员进行 POST 但它显示:

{"error":"unsupported_grant_type","error_description":"The authorization grant type is not supported by the authorization server.","hint":"Check that all required parameters have been provided","message":"The authorization grant type is not supported by the authorization server."}

你能告诉我如何准确地制作那个 POST 或者关键字 token 是否指代代表令牌的字符串而不仅仅是单词。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-08
    • 2012-07-23
    • 2011-11-11
    • 2017-07-11
    • 2011-07-12
    • 2010-10-13
    • 2013-12-01
    • 1970-01-01
    相关资源
    最近更新 更多