3

我正在创建一个浏览器扩展,它使用 rest api 发布到 salesforce chatter。一旦我从 OAuth 用户代理流程中获得 access_token,由于浏览器同源策略,我无法从 javascript 调用 rest 服务。我不想使用服务器作为代理,因为我想让扩展纯粹是客户端。

我尝试了 JSONP 解决方法,但它只适用于 GET,我需要 POST 才能将提要发布到 salesforce chatter

有没有可能的方法。请建议一些解决方法

4

4 回答 4

1

也许考虑将您的电话传递给 salesforce 中的自定义休息服务。使用 @RestResource 注释设置一个全局类,然后在其中设置一个 doPost 方法来处理您传递的内容,在您的情况下进行发布。

您仍然需要 Oauth 步骤来检索令牌,然后通过 Authorization : Bearer 标头消息与其余请求一起传递该令牌。

在此处查看有关此内容的好帖子https://wiki.developerforce.com/page/Creating_REST_APIs_using_Apex_REST

于 2014-02-26T10:42:12.760 回答
1

从 Salesforce '15 开始,您可以配置 CORS。因此,将您的应用程序域列入白名单,您可以做任何您想做的事情。没有解决获取access_token的问题。纯粹通过 javascript 获取 access_token 的唯一方法是使用用户代理流程,因为访问令牌作为 URL 部分传递......

于 2018-04-18T07:30:56.193 回答
0

一种选择是使用 http://www.ajax-cross-domain.com/之类的网站

这是关于这个问题的很好的参考http://www.d-mueller.de/blog/cross-domain-ajax-guide/

于 2013-12-05T10:27:33.840 回答
0

使用jsforce ,由于 CORS 问题,您将需要代理,抱歉。

于 2016-07-13T18:28:53.177 回答