使用 REST API 从 Maximo 检索图像


在 Maximo Application Suite中,文档和图像作为附件存储并通过 DOCLINKS 进行链接。虽然这在用户界面中很简单,但以编程方式检索这些附件却不那么直观。
本文将介绍一种使用 REST API 的简单模式,用于:
Maximo 不会将文档二进制文件直接存储在主业务对象上。相反:
因此,该过程始终涉及两个步骤:
在 Maximo 中,我已将我的头像作为附件添加到我的人员记录中。在此示例中,我的人员记录是 PHIL.RUNION。作为此示例的一部分,我将使用 MXPERSON 对象结构,通过 REST API 和 Postman。
我将从 MXPERSON 对象结构开始,复制它,并将 DOCLINKS 对象添加为源对象。如果现成的对象结构已经包含 DOCLINKS 源对象,则可以直接使用。
接下来,我将在 Postman 中建立一个基本的 REST 查询,以拉取我的人员记录。这不仅建立了我们可以进一步构建的连接,还允许我们为下一步拉取文档引用。请注意,在我的查询中,我使用 oslc where 子句仅拉取我的示例记录。除了此请求,您还需要一个带有键“apikey”和有效访问权限的 API 密钥的请求头。
Postman 中的 GET 查询示例:
https://mas.manage.demo.naviam.app/maximo/api/os/NVMPERSON?oslc.select=personid, displayname, doclinks{*}&oslc.where=personid="PHIL.RUNION"&lean=1
其作用是:

在 DOCLINKS 对象中,您可以看到可用于提取图像的附件信息。从响应负载中,识别包含以下内容的记录:
此 href 将用于下一步。
获得文档引用后,您可以直接调用文档端点。Postman 的优点在于它可以接收 Base64 格式的原始文档数据并将其可视化。如果您使用其他工具,则需要将输出处理成可用文件。
示例:
https://mas.manage.demo.naviam.app/maximo/api/os/m4m_doclinks/_MTYwNzc4L0F0dGFjaG1lbnRzLzM5NzE5L1BFUlNPTg--?oslc.select=documentdata&lean=1&inlinedoc=1
关键参数:
确保您的API调用包含正确的认证信息,通常通过API密钥或会话令牌进行。
避免批量拉取大型文档。建议:
大型附件会显著增加响应大小。如有需要,请考虑流式传输或采用其他处理方式。
确切的对象结构可能因您的对象结构配置而异,但其模式保持一致。
一旦您理解了Maximo中元数据与内容的分离,这种方法就变得简单。它特别适用于:
如果您正在基于 MAS API 进行开发,这是一种您会经常用到的模式。
Discover everything you need to know to modernize your asset management strategy.
Inside, you’ll learn:

ActiveG, BPD Zenith, EAM Swiss, InterPro Solutions, Lexco, Peacock Engineering, Projetech, Sharptree, and ZNAPZ have united under one brand: Naviam.
You’ll be redirected to the most relevant page at Naviam.io in a few seconds — or you can
go now.