2

我对集成还很陌生,但我在销售人员方面拥有不错的开发经验。我需要在 salesforce 中生成 power point 演示文稿,但目前似乎没有办法直接在 salesforce 中执行此操作。所以我搜索了一下,发现了一些生成 ppt 的 java 类。所以现在我可以在我的本地机器上运行这些 java 并生成 ppt。

需要帮助了解我应该在哪里拥有我的 java 类?赫罗库??也不知道该怎么做。我的 salesforce Apex 代码可以与 Heroku 上上传的 java 类进行通信,如果可以,那么如何?

对此真的有任何帮助。

问候山姆

4

1 回答 1

5

是的,这绝对是可能的。Salesforce 和 Heroku 之间没有特殊的通信,但两者可以通过常规的 HTTP API 相互通信。为此,您需要:

  1. 在 Heroku 上运行的 Web 服务中公开您的 PPT 生成器。首先,请查看Heroku 上的 Java 入门文章或Play 入门!关于 Heroku的文章,以在 Heroku 上启动并运行基本的 HTTP 应用程序。然后,将您的 PPT 生成器类放到应用程序中并创建一个端点来访问它们。例如,您可以创建一个端点,/ppt以便在您访问https://example.herokuapp.com/pptPPT 时生成并在 HTTP 响应中返回。当然,您可以让服务提供动态 PPT,但在本示例中保持简单。

  2. 从 Apex 呼叫您的 Heroku 应用程序。为此,请查看 Apex 文档中的HTTP RESTful 服务类。例如,您可以在 Apex 中执行以下操作:

    Http h = new Http();
    
    HttpRequest req = new HttpRequest();
    req.setEndpoint('https://example.herokuapp.com/ppt');
    req.setMethod('GET');
    
    HttpResponse res = h.send(req);
    res.getBody();
    

如果这些 PPT 是机密的,您可能还希望在两个系统之间建立某种身份验证方案;否则,任何击中您的端点的人都可以获得 PPT。我至少会使用带有共享密钥的基本身份验证来保护您的服务,但如果您愿意,也可以使用更高级的东西。

我上面解释的都是通过后端 API,但是如果您也想在 Heroku 中为您的服务创建一个 UI 并将其公开给 Salesforce 用户,您可能想看看新的Force.com Canvas框架

于 2013-02-11T17:12:46.070 回答