openresources/resourcehub_rest

提供基于OpenAPI V3模式的Drupal REST API插件。

安装: 388

依赖: 1

建议者: 0

安全性: 0

星星: 0

分支: 0

类型:drupal-module

1.0.0-alpha2 2023-12-06 13:23 UTC

This package is auto-updated.

Last update: 2024-09-06 14:51:28 UTC


README

本Drupal模块提供了一组Drupal REST插件,这些插件提供了一个方便的界面来创建ResourceHub资源及其相关Drupal实体。API使用OpenAPI V3模式进行文档化和验证,可以通过SwaggerUI进行浏览。

安装

本模块依赖于密钥认证Drupal模块OpenAPI PSR-7消息(HTTP请求/响应)验证器,如果使用Composer安装本模块,这两个模块将被安装。

composer require openresources/resourcehub_rest

安装后,将进行一些Drupal配置更改,您可能希望将这些更改导出至版本控制。

使用

身份验证

在向REST API发送请求之前,您需要获取一个API密钥。API密钥与Drupal用户关联,用户的Drupal权限将决定通过API的写入访问权限,因此您需要确保用户拥有“网站管理员”或“内容编辑”角色之一。要获取API密钥,请导航到用户页面,例如user/1234/edit,然后点击“密钥认证”选项卡。从这里,您需要点击“生成新密钥”。

发送请求

以下是一些CURL示例,但请参阅SwaggerUI以获取有关可用端点和请求参数的详细文档。

/resource

curl --request POST \
  --url 'http://resourcehub.lndo.site/resource?_format=json' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: a593d7966687162200bec7929aac03a9' \
  --data '
{
  "published": false,
  "title": "Testing title",
  "summary": "<p>Testing <strong>summary</strong> out</p>",
  "imageId": "c051c2f6-6aca-46f8-85cc-97e191537cac",
  "audienceIntro": "string",
  "primaryResource": {
    "sectionType": "document",
    "title": "A title",
    "documentId": "b38da175-3c84-4bb4-95fe-d8b3e80c6d7e"
  },
  "content": [
    {
      "sectionType": "audio",
      "audioUrl": "https://soundcloud.com/example/example",
      "caption": "I'\''m a caption",
      "title": "I'\''m a title",
      "transcript": "<p>A transcript with <strong>Formatting</strong></p>"
    },
    {
      "sectionType": "document",
      "title": "HT",
      "documentId": "157aa518-a4fb-4ed2-b9a7-c3a132a66ead"
    },
    {
      "sectionType": "image",
      "description": "string",
      "imageId": "72cd12fd-21dc-4fb4-ab6d-52e177e04755",
      "caption": "string"
    },
    {
      "sectionType": "external_link",
      "link": {
        "text": "string",
        "url": "string"
      },
      "summary": "string"
    },
    {
      "sectionType": "text",
      "text": "string"
    },
    {
      "sectionType": "video",
      "videoUrl": "https://www.youtube.com/watch?v=12345,
      "caption": "string",
      "title": "string",
      "transcript": "string"
    }
  ],
  "audience": [
    {
      "name": "new audience"
    }
  ],
  "format": {
    "name": "new format"
  },
  "topics": [
    {
      "name": "New topic"
    }
  ],
  "type": [
    {
      "name": "szdasd"
    }
  ],
  "relatedResources": [
    {
      "uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
    }
  ]
}
'

/resource-image

curl --request POST \
  --url 'http://resourcehub.lndo.site/resource-image?_format=json' \
  --header 'Content-Disposition: file; filename="Example.jpg"' \
  --header 'Content-Type: application/octet-stream' \
  --header 'x-api-key: a593d7966687162200bec7929aac03a9' \
  --data '.../9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAgICAgJCAkKCgkNDgwODRMREBARExwUFhQWFBwrGx8bGx8bKyYuJSMlLiZENS8vNUROQj5CTl9VVV93cXecnNEBCAgICAkICQoKCQ0ODA4NExEQEBETHBQWFBYUHCsbHxsbHxsrJi4lIyUuJkQ1Ly81RE5CPkJOX1VVX3dxd5yc0f/CABEIAqgCqAMBIgACEQEDEQH/xAAcAAACAwEBAQEAAAAAAAAAAAAAAQIDBAUGBwj/2gAIAQEAAAAA+cSsiKUXDQ7ZILE65RTUISSlXZGEnECUGTZGy+KsjZKJOdk7hO2KcmTTktMrJU+DFGbSlZe512VxlNkVBJRiNNwqUWQjOuxWxjZaOzTCwJFlk7JthODtJKFjvWyNvztAOx3TRByFXYhqNcU41ycKYOmGKOautWQtktd+vVOy6Vspqws1IscSYrU5RuNRoPnLaV9jnCacFKKsahXKBCIlDPXjxZqoNtjASCXU6G2662btTvuZZXNkpWVTbd5ff87RO+QydRGyE3FSqK0hxhDPh5+OsGSbG5CHouphXVs7nRvsnOx2TnGwVgSG5KeuHV...'

/resource-document

curl --request POST \
  --url 'http://resourcehub.lndo.site?_format=json' \
  --header 'Content-Disposition: file; filename="Example.pdf"' \
  --header 'Content-Type: application/octet-stream' \
  --header 'x-api-key: a593d7966687162200bec7929aac03a9' \
  --data '...+CmVuZG9iagp4cmVmCjAgNDEKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAxNjg3IDAwMDAwIG4gCjAwMDA0MTEwMjMgMDAwMDAgbiAKMDAwMDAwMDAwOSAwMDAwMCBuIAowMDAwMDAwMTE3IDAwMDAwIG4gCjAwMDAwMDAyMTcgMDAwMDAgbiAKMDAwMDAwMDMyNSAwMDAwMCBuIAowMDAwMDAwNDI1IDAwMDAwIG4gCjAwMDAwMDA1MzMgMDAwMDAgbiAKMDAwMDAwMDYzMyAwMDAwMCBuIAowMDAwMDAwNzQyIDAwMDAwIG4gCjAwMDAwMDA4NDMgMDAwMDAgbiAKMDAwMDAwMDk1MyAwMDAwMCBuIAowMDAwMDAxMDU0IDAwMDAwIG4gCjAwMDAwMDExNjQgMDAwMDAgbiAKMDAwMDAwMTI2NSAwMDAwMCBuIAowMDAwMDAxMzc1IDAwMDAwIG4gCjAwMDAwMDE0NzYgMDAwMDAgbiAKMDAwMDAwMTU4NiAwMDAwMCBuIAowMDAwMDAxNzkwIDAwMDAwIG4gCjAwMDAwMDE4ODEgMDAwMDAgbiAKMDAwMDAwMTk3NyAwMDAwMCBuIAowMDAwMDAyMDc2IDAwMDAwIG4gCjAwMDAwMDIxNzkgMDAwMDAgbiAKMDAwMDAwMjI2OCAwMDAwMCBuIAowMDAwMDAyMzYyIDAwMDAwIG4gCjAwMDAwMDI0NTkgMDAwMDAgbiAKMDAwMDAwMjU2MCAwMDAwMCBuIAowMDAwMDAyNjUzIDAwMDAwIG4gCjAwMDAwMDI3NDUgMDAwMDAgbiAKMDAwMDAwMjgzOSAwMDAwMCBuIAowMDAwMDAyOTM3IDAwMDAwIG4gCjAwMDAwMjQxNzQgMDAwMDAgbiAKMDAwMDEwMzgwNCAwMDAwMCBuIAowMDAwMTg5MjA1IDAwMDAwIG4gCjAwMDAyNDI5OTggMDAwMDAgbiAKMDAwMDI4NzYzNSAwMDAwMCBuIAowMDAwMzQ2MDExIDAwMDAwIG4gCjAwMDAzOTM3MDAgMDAwMDAgbiAKMDAwMDQxMTM0MCAwMDAwMCBuIAowMDAwNDExNDU5IDAwMDAwIG4gCnRyYWlsZXIKPDwKL1NpemUgNDEKL1Jvb3QgNDAgMCBSCi9JbmZvIDM5IDAgUgo+PgpzdGFydHhyZWYKNDExNTYzCiUlRU9G...'