我想使用 Google 跟踪代码管理器将数据发送到我们的 Salesforce 组织,用于我们网站上的某些事件(用户注册、转换等)。经过一番研究,我意识到JSforce将是实现这一目标的最简单方法。我在 Salesforce 中创建了一个新的连接应用程序,使用Postman试用了 Salesforce API,并成功地通过 API 创建了一个新用户帐户。然后我继续尝试在 Google 跟踪代码管理器中实现同样的目标。我阅读了 JSforce 的文档并尝试实现所有内容。但是,经过几个小时的故障排除和谷歌搜索,我似乎无法让它工作。
这是我当前的代码,它位于 Google 跟踪代码管理器中的“标签”中,可在所有页面上触发(仅用于测试):
https://jsforce.github.io/start/#web-browser
<script src="//cdnjs.cloudflare.com/ajax/libs/jsforce/1.9.1/jsforce.min.js"></script>
<script>
jsforce.browser.init({
clientId: '<MYCLIENTID>',
redirectUri: 'https://cuttersclub.com'
});
https://jsforce.github.io/document/#access-token
var jsforce = require('jsforce');
var conn = new jsforce.Connection({
instanceUrl : 'https://um5.salesforce.com',
accessToken : '<MYACCESSTOKEN>',
});
https://jsforce.github.io/document/#create
conn.sobject("Account").create({ Name : 'My Account #1' }, function(err, ret) {
if (err || !ret.success) { return console.error(err, ret); }
console.log("Created record id : " + ret.id);
});
</script>
我在浏览器控制台中收到此错误:
Uncaught ReferenceError: require is not defined
编辑:删除var jsforce = require('jsforce');
解决了这个问题,并且正在 Salesforce 中创建帐户。但是,现在我在浏览器控制台中收到以下错误:
Access to XMLHttpRequest at '<URL>' from origin '<CALLBACKURL>' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
如 JSforce 文档中所述,我认为这可能与代理服务器有关:https ://github.com/jsforce/jsforce-ajax-proxy