无法从 Postman 访问 Salesforce api
Cannot access Salesforce api from Postman
我正在尝试测试需要向 Salesforce api 发送 http 请求的应用程序(Azure 函数)。这适用于 Visual Studio 和 Azure DevOps 管道中的单元测试。但是当我尝试使用 Postman 测试 Azure 函数时,出现错误:{"error":"invalid_grant","error_description":"authentication failure"}
我尝试将连接的应用程序的“IP 限制”设置为“放宽 IP 限制”,但没有帮助。
这是我的代码:
_httpClient = new HttpClient();
HttpContent content = new FormUrlEncodedContent(new Dictionary<string, string>
{
{"grant_type", "password"},
{"client_id", sfClientId},
{"client_secret", sfClientSecret},
{"username", sfUserName},
{"password", $"{sfPassword}{sfToken}"}
});
message = _httpClient.PostAsync(LoginEndpoint, content).Result;
response = message.Content.ReadAsStringAsync().Result;
您在 Salesforce 设置中的用户登录历史记录中看到了什么。您可能需要将“security token”附加到密码(这与 OAuth key/secred 分开)。或者将您的 IP 添加到设置 -> 网络访问。
编辑:
如果它正确地附加了安全令牌,您就不需要在设置 -> 网络访问中添加您的 IP,太棒了。我不熟悉您使用的语法。这会自动对参数进行 urlencode 并正确设置 Content-Type 吗?
你能试试原始无聊的手工制作的 http 吗?
POST /services/oauth2/token HTTP/1.1
Host: test.salesforce.com
Content-Type: application/x-www-form-urlencoded
grant_type=password&client_id=3MVG9redacted&client_secret=3B8AE4C8ADredacted&username=user.name%40example.com.introccp%09&password=Hunter2PlusToken
(注意我有%40
但是如果你使用Postman的x-www-form-urlencoded选项应该可以正常输入)
如果还是报错,尝试消除token。看登录历史,会有你的IP。将其添加到设置 -> 网络访问。
类似的东西
我正在尝试测试需要向 Salesforce api 发送 http 请求的应用程序(Azure 函数)。这适用于 Visual Studio 和 Azure DevOps 管道中的单元测试。但是当我尝试使用 Postman 测试 Azure 函数时,出现错误:{"error":"invalid_grant","error_description":"authentication failure"}
我尝试将连接的应用程序的“IP 限制”设置为“放宽 IP 限制”,但没有帮助。
这是我的代码:
_httpClient = new HttpClient();
HttpContent content = new FormUrlEncodedContent(new Dictionary<string, string>
{
{"grant_type", "password"},
{"client_id", sfClientId},
{"client_secret", sfClientSecret},
{"username", sfUserName},
{"password", $"{sfPassword}{sfToken}"}
});
message = _httpClient.PostAsync(LoginEndpoint, content).Result;
response = message.Content.ReadAsStringAsync().Result;
您在 Salesforce 设置中的用户登录历史记录中看到了什么。您可能需要将“security token”附加到密码(这与 OAuth key/secred 分开)。或者将您的 IP 添加到设置 -> 网络访问。
编辑:
如果它正确地附加了安全令牌,您就不需要在设置 -> 网络访问中添加您的 IP,太棒了。我不熟悉您使用的语法。这会自动对参数进行 urlencode 并正确设置 Content-Type 吗?
你能试试原始无聊的手工制作的 http 吗?
POST /services/oauth2/token HTTP/1.1
Host: test.salesforce.com
Content-Type: application/x-www-form-urlencoded
grant_type=password&client_id=3MVG9redacted&client_secret=3B8AE4C8ADredacted&username=user.name%40example.com.introccp%09&password=Hunter2PlusToken
(注意我有%40
但是如果你使用Postman的x-www-form-urlencoded选项应该可以正常输入)
如果还是报错,尝试消除token。看登录历史,会有你的IP。将其添加到设置 -> 网络访问。
类似的东西