无法获取salesforce应用程序的访问令牌

时间:2017-10-25 05:39:04

标签: c# oauth salesforce

我正在尝试使用OAuth为salesforce帐户获取访问令牌。我有使用者密钥和消费者密钥以下是我的代码。但是当它调用UsernamePasswordAsync方法时会抛出异常。请帮我解决这个问题。

private static async Task RunSample()
        {
            try
            {
                var auth = new AuthenticationClient();
                // Authenticate with Salesforce
                Console.WriteLine("Authenticating with Salesforce");
                var url = IsSandboxUser.Equals("true", StringComparison.CurrentCultureIgnoreCase)
                    ? "https://login.salesforce.com/services/oauth2/token "
                    : "https://test.salesforce.com/services/oauth2/token";

                await auth.UsernamePasswordAsync(ConsumerKey, ConsumerSecret, Username, Password, url);
                Console.WriteLine("Connected to Salesforce");
                var client = new ForceClient(auth.InstanceUrl, auth.AccessToken, auth.ApiVersion);
                // retrieve all accounts
                Console.WriteLine("Get Accounts");
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                Console.WriteLine(e.StackTrace);
            }
        }

修改 我得到的例外是 例外:身份验证失败 错误:Salesforce.Common.Models.Error.InvalidGrant 堆栈跟踪:    在Salesforce.Common.AuthenticationClient.d__1.MoveNext() ---从抛出异常的先前位置开始的堆栈跟踪结束---    在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)    在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)    在System.Runtime.CompilerServices.TaskAwaiter.GetResult()    在SalesForceAuthSample.Program.d__7.MoveNext()在C:\ Users \ Pankaj Dalvi \ Documents \ Visual Studio 2015 \ Projects \ MVP \ SalesForceAuthSample \ SalesForceAuthSample \ Program.cs:第65行

1 个答案:

答案 0 :(得分:0)

只要您确定自己的所有凭据都正确无误 - 我要检查的下一个项目就是您的已连接应用的“编辑”菜单中列出的OAuth政策。对于用户名密码OAuth流程,我认为需要将其设置为All users may self-authorize

另一个选项Admin approved users are pre-authorized似乎在用户名密码流中没有意义,例如使用用户名密码流时,用户没有批准步骤。其他两种流类型,即Web服务器流和用户代理流,都有批准步骤。 Salesforce的Edit Connected App Behavior有更多详细信息。