我正在创建一个浏览器扩展程序,使用rest api发布到salesforce chatter。一旦我从OAuth用户代理程序流中获取access_token,我无法通过浏览器调用来自javascript的休息服务,因为浏览器的原始策略相同。我不想要使用服务器作为代理,因为我想将扩展名纯粹作为客户端。
我尝试了JSONP解决方法,但它只适用于GET,我需要POST将一个Feed发布到salesforce chatter
有没有办法。请提出一些解决方法
答案 0 :(得分:1)
也许考虑将您的电话转到salesforce中的自定义休息服务。使用@RestResource注释设置一个全局类,然后在其中使用doPost方法处理你传递的内容,在你的情况下进行发布。
您仍然需要Oauth步骤来检索令牌,然后通过Authorization:Bearer标头消息传递其余请求。
在此https://wiki.developerforce.com/page/Creating_REST_APIs_using_Apex_REST
上查看好文章答案 1 :(得分:1)
自Salesforce '15以来,您可以配置CORS。因此,您的应用程序域名列入白名单,您可以随心所欲。无法解决获取access_token的问题。纯粹通过javascript获取access_token的唯一方法是使用User-Agent Flow,因为访问令牌作为URL Part传递....
答案 2 :(得分:0)
一种选择是使用http://www.ajax-cross-domain.com/
等网站以下是此问题的良好参考http://www.d-mueller.de/blog/cross-domain-ajax-guide/
答案 3 :(得分:0)