要求

必备知识

  • 了解 AEM Mobile
  • 有关通过标准点播门户创建和发布内容的知识

必要的产品

  • AEM Mobile

简介

Adobe Experience Manager On-Demand Services API 允许第三方开发者与点播服务集成。这些服务允许您:

  • 管理文章
  • 管理集合
  • 管理产品
  • 管理推送通知

On-Demand Services API(之前称为"Content Producer Service API") 是点播门户 (https://aemmobile.adobe.com) 使用的同一种 API。

Adobe Digital Publishing Solution Content Producer Service API

与 AEM 创作集成

您可以使用 AEM 为 AEM Mobile 应用程序生成内容。联系 Adobe 代表获取更多信息。

第三方集成

对于以下编辑工作流程系统、内容管理系统 (CMS) 和基于 Web 的创作解决方案,可以使用集成(来自 Adobe 合作伙伴):

CMS 系统

基于 Web 创作
工作流程系统

集成视频概述

Klaasjan Tukker 和 Mike Yang 在 MAX 2015 会议上就高级工作流程的发展潜力做了此次陈述:

使用 Adobe API 的高级工作流程的发展潜力 (1:25:57)

下载

要开始使用 On-Demand Services API,请下载以下列出的文件。

注意:

下载下列软件即表示我承认,我已阅读并同意 AEM Mobile Services 的 API 许可证Adobe.com 使用条款 以及 Adobe Online 隐私政策的条款。

下载

此 .zip 文件包含以下内容:

  • API 文档
  • JSON 架构定义
  • 代码示例
  • InDesign 脚本示例
  • API 密钥请求表

 

如何使用 API 文档

要查看 API 文档(使用 Swagger 创建),请在您的 Web 服务器上的一个文件夹(例如 MAMP)中解压缩相应文件。

如果 Swagger 文档的托管 URL 为 http://localhost:8888/aemmobile-swagger,则您可以跳过以下步骤。

打开文件“service.json”并修改第 55 行以将 basePath 设置为可从中访问您的文档的“主机+路径”。例如:

#53     "contact": "wwds@adobe.com"
#54   },
#55   "basePath": "http://localhost:8888/your-custom-path"
#56 }

打开您的 Web 浏览器并浏览至您部署文档的位置。On-Demand Services API 应可见。

 

设置您的项目、角色和用户

设置项目、创建角色并向用户授予访问权限。有关更多信息,请参阅以下帮助文章:

最佳做法是避免使用已被授予“主帐户”或“完整项目”管理权限的同一个 Adobe ID。创建一个 Adobe ID,使之仅可以访问您希望允许通过 On-Demand Services API 执行的操作。

注意:

要运行以下示例,请确保从一个新项目开始。

API 密钥

要访问 On-Demand Services API 以及与第三方系统集成,您需要 API 密钥。

请求 API 密钥

要访问 On-Demand Services API,您需要请求一个 API 密钥。要请求 API 密钥,请填写 PDF 表。将填写好的表格发送到 Adobe Developer Support:wwds@adobe.com

下载

有关何时需要 API 密钥或何时使用现有 API 密钥的更多信息,请参阅 AEM Mobile API 密钥使用

生成 device_id 和 device_token

一旦已收到您的 API 密钥,您即可生成 device_id 和 device_token。转到 https://aex.aemmobile.adobe.com 并执行以下操作:

  • 提供 API 密钥
  • 使用您已请求加入到白名单中(在请求表上)的 Adobe ID 进行登录

如果满足所有条件,则将生成 device_id 和 device_token。

如何使用示例文件

解压缩示例文件并更改标准值以反映您的帐户和 API 密钥。请确保已在点播门户中创建了一个新项目并向将在 API 示例中用于与之通信的 Adobe ID 分配了一个角色。

更改:

  • config/credentials.php

更改/添加“client_id”(您的 API 密钥)、“client_secret”、“device_token”、“device_id”(来自 AEX 服务)的值。

设置“client_version”的值;此值用于标识您与 On-Demand Services API 通信的“系统”。例如,“aemmobile-learn-api-doc-1.0”

运行:

  • demo/01_get_access_token.php

如果设置正确,则响应应为您提供一个“access_token”。在后续服务调用中使用此 access_token。

更改:

  • config/credentials.php

添加“access_token”的值。

运行:

  • demo/02_get_user_permissions.php

如果设置正确,则响应应提供 Adobe ID(已为其生成 device_id/device_token)可以访问的项目的列表。

选择您要与之交互的项目。(这应是一个新的最近创建的项目。)项目标识是一个 GUID,如“8dbeb5da-ca73-d0da-b0b0-885fb83e7ae8”。

更改:

  • Config/parameters.php

使用您在上面获取的项目 ID 更新“publication_id”。

运行:

  • demo/03_update_home_collection.php

如果设置正确,则会将顶级集合设为可发布状态:上传缩览图和背景图像,设置产品 ID 并关联默认布局。

更改:

  • config/parameters.php

如果目标项目是一个两层顶级集合,请将“collection_home_name”的值从“topLevelContent”更改为“topLevelTabletContent”(针对平板电脑)或“topLevelPhoneContent”(针对手机)。

您现在已准备好运行示例的其余部分。当您运行示例时,在一个浏览器中保持打开点播门户并显示您的项目的“内容和布局”部分。在您执行示例的同时,您可在浏览器中实时查看更改。

 

创建文章

文章的内容可通过 HTML 或 InDesign 进行创建。

HTML 文章

通过 HTML 创建的文章可使用 CSS/JS 来以可视化方式设置内容样式并使之具有响应性。所有 HTML 内容应位于相同的文件夹中(允许使用子文件夹)。HTML 文件将与一个 manifest.xml 文件一起打包到一个“zip 文件”中。清单文件列出了属于文件包的一部分的文件并包含 MD5 校验和。(请参阅创建适用于 AEM Mobile 的 HTML 文章。)

要从文件夹中生成文章文件,您可使用桌面实用程序或使用“class/manifest.php”中的示例包装程序。

InDesign 文章

使用 Adobe InDesign CS6 或更高版本,您可创建固定布局的文章文件。使用 Digital Publishing 插件,您可将 InDesign 内容导出到文章文件。(请参阅在 InDesign 中创建 AEM Mobile 文章。)

要将导出过程编写为脚本,您可使用“exportDpsArticle”函数。有关详细信息,请参阅使用脚本创建基于 InDesign 的文章

问题和支持

API/集成论坛可用于发布有关此文章或 On-Demand Services API 使用的任何问题。如果您正在寻找一对一支持,请联系 Adobe Developer Support (wwds@adobe.com)。

更改日志

2017 年 6 月 20 日

更新了文档:

  • 改正了说明中的打字错误。

2017 年 2 月 7 日

更新了文档:

  • 增加了跨 Producer Services 对动态共享内容的支持。

更新了 JSON 架构:

  • 为动态共享内容添加了新的 JSON 架构。

API 示例:

  • 为动态共享内容添加了支持。

2016 年 11 月 1 日

更新了文档:

  • 增加了实体状态的批次返回。
  • 增加了跨 Producer 和 Ingestion Services 对动态横幅的支持。
  • 添加了通过 Notification Service API 对 Android 推送通知的支持
  • 添加了在指定索引处更新集合的内容元素列表的功能。

更新了 JSON 架构:

  • 为动态横幅添加了新的 JSON 架构

更新了 API 示例:

  • 更新 Collection::updateContentElements() 以检查是否已在将实体追加到集合的内容元素列表之前存在
  • 增加了对动态横幅的支持
  • 为演示脚本添加了动态横幅 (#13–15)

2016 年 7 月 12 日

更新了文档:

  • 更新的产品和产品绑定

2016 年 6 月 30 日

更新了文档:

  • 为 Ingestion Service 添加了有关 PDF 上传的信息

更新了 JSON 架构:2016 年 7 月 12 日

更新了文档:

  • 添加了额外的元数据字段:
    • contentSize
    • availabilityDate(仅限产品和产品捆绑)
    • availabilityDateTimezone(仅限产品和产品捆绑)

更新了 API 示例:

  • 演示:#05e 将 PDF 文件更新为文章 1
  • 演示:#05f 将 PDF 文件更新为文章 1 并设置水平轻扫
  • 演示:#05g 检查文章 1 的 Ingestion 状态
  • 已切换为使用自动装卸器为每个 PHP 脚本加载必需类

2016 年 5 月 10 日

更新了文档:

  • Ingestion Service 现在接受标题:application/pdf
  • 跟踪已知的发布/取消发布和预检作业的状态
    • POST /job 将返回此作业的工作流程 ID
    • GET /status/{publicationID}/publication/00000000-0000-0000-0000-000000000000 将返回当前工作流程 ID(如果有)
    • 将当前工作流程 ID(如果有)与上一个已知的工作流程 ID 进行比较
      • 如果当前工作流程 ID === 上一个已知的工作流程 ID,则表示上一个作业仍在进行
      • 如果当前工作流程 ID !== 上一个已知的工作流程 ID,则表示上一个作业已完成,另一个作业正在进行
      • 如果当前工作流程 ID 为空,则表示上一个作业已完成,没有其他作业正在进行

更新了 API 示例:

  • 演示:#05d 检查当前的已上传内容文件的大小
  • 演示:#08c 跟踪上一个已知的工作流程状态

本产品经 Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License 许可  Twitter™ 与 Facebook 中的内容不在 Creative Commons 的条款约束之下。

法律声明   |   在线隐私策略