我正在使用 OmniAuth、OmniAuth-salesforce 和这个 gem 开发 Rails 应用程序:https ://github.com/heroku/databasedotcom
我将“client_id”和“client_secret”硬编码到我的应用程序中。然后,对于通过 Saleforce 进行身份验证的每个用户,我将捕获他们的 oauth 令牌、用户 ID 和实例 url。有了这一切,我正在代表他们创造潜在客户。
如果用户来自我获得“client_id”和“client_secret”的同一个帐户,则一切正常。但是,如果我与来自另一个 Salesforce 实例的用户进行身份验证,我会收到“无效的交叉引用 id”错误。
我希望我的应用程序为来自许多不同 Salesforce 实例的用户提交潜在客户。这不可能吗?
这是我的完整代码:
client = Databasedotcom::Client.new :client_id => SALESFORCE_CLIENT_ID, :client_secret => SALESFORCE_CLIENT_SECRET
client.authenticate :token => user.salesforce_token, :instance_url => user.salesforce_instance_url
client.materialize("Lead")
lead = Lead.new(:FirstName => first_name, :LastName => last_name, :Email => email,
:Phone => phone, :OwnerId => user.salesforce_id, :IsConverted => false,
:IsUnreadByOwner => true, :Company => contact_company)
lead.save
感谢您的任何建议!