无法从 Mule Salesforce 获取访问令牌



尝试从 SalesForce 获取访问令牌时,我无法获取访问令牌。我输入了 https://localhost:8081/AppCallback 的回调 URL。但是,当我打印出令牌时,我在浏览器中得到空。当我更改使用者密钥值时,我仍然会成功,似乎我并没有点击服务。这是我的配置。我向 http://localhost:8081/authorize 发送请求,然后得到回复

您已成功授权连接器。您的访问令牌 ID 为:空

<http:listener-config name="HTTP_Listener_Configuration"
host="localhost" port="8081" doc:name="HTTP Listener 
Configuration" />
<sfdc:config-with-oauth name="salesforce-oauth"
onNoToken="EXCEPTION"
accessTokenUrl="https://app.my.salesforce.com/services/oauth2/token"
authorizationUrl="https://app.my.salesforce.com/services/oauth2/authorize"
consumerKey="myConsumerKey"
consumerSecret="33388E8E" doc:name="Salesforce (OAuth)">
<sfdc:oauth-callback-config domain="localhost"
localPort="8081" remotePort="8081" path="AppCallBack" />
</sfdc:config-with-oauth>
<flow name="authorize" doc:name="authorize">
<http:listener config-ref="HTTP_Listener_Configuration"  allowedMethods="GET" 
path="authorize" doc:name="HTTP">
<http:response-builder statusCode="200" reasonPhrase="You have successfully authorized the connector. Your access token id is: #[flowVars.OAuthAccessTokenId]" />
<http:error-response-builder statusCode="404" reasonPhrase="An error has occurred authorizing the connector" />
</http:listener>
<sfdc:authorize immediate="TRUE" config-ref="salesforce-oauth"  display="PAGE" doc:name="Authorize at Salesforce" />
</flow>
<flow name="sfdctestFlow1" doc:name="readContactFlow1">
<http:listener config-ref="HTTP_Listener_Configuration"
path="run" doc:name="HTTP" />
<sfdc:query config-ref="salesforce-oauth" accessTokenId="#[flowVars.OAuthAccessTokenId]"
doc:name="Perform a query at Salesforce" query="SELECT id,lastname,lastmodifieddate from contact limit 10" />
<foreach doc:name="For Each">
<logger doc:name="Logger" level="INFO" message="contact: #[payload]" />
</foreach>
<set-payload doc:name="Set Payload to formatted output"
value="Salesforce query returned #[payload.size()] contacts." />
<logger doc:name="Logger" level="INFO" message="contact: #[payload]" />
</flow>

我做错了什么?为什么 Salesforce 不验证并返回访问令牌?我应该如何使用回调 URL?

你需要使用Salesforce连接器,这很容易。 考虑到您尝试的当前方法,没有用户名,并且提供了密码。

如果您在下面的代码中(从帖子中复制(-

  1. 访问令牌 URL - 这是正确的(我假设您直接点击产品(。
  2. 使用者密钥 - 正确无误。
  3. 消费者秘密 - 这是正确的
  4. 用户名 - 不存在
  5. 密码 - 不存在。当您尝试使用密码时,请确保附加安全脚趾(如果启用(
<sfdc:config-with-oauth name="salesforce-oauth"
onNoToken="EXCEPTION"
accessTokenUrl="https://app.my.salesforce.com/services/oauth2/token"
authorizationUrl="https://app.my.salesforce.com/services/oauth2/authorize"
consumerKey="myConsumerKey"
consumerSecret="33388E8E" doc:name="Salesforce (OAuth)">
<sfdc:oauth-callback-config domain="localhost"
localPort="8081" remotePort="8081" path="AppCallBack" />
</sfdc:config-with-oauth>

最新更新