- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
无法弄清楚我在这里做错了什么。尝试在 selenium 测试(java)中通过 SF 的 API 获取访问 token ,并不断收到相同的错误。在 cypress (javascript) 中进行了完全相同的调用,它工作得很好,但是,由于其他原因我不能走这条路(SF 讨厌 UI 测试)。我认为这可能与它必须是表单数据这一事实有关,而java只是对此感到奇怪?我不知道,请帮忙,我很害怕。
已经尝试将请求正文设置为一个长字符串,而不是将所有内容添加到 JSONObject
中,但这仍然不起作用
URL obj = new URL("https://login.salesforce.com/services/oauth2/token");
HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();
con.setDoOutput(true);
con.setDoInput(true);
con.setRequestMethod("POST");
con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
JSONObject body = new JSONObject();
body.put("grant_type", "password");
body.put("client_id", "***");
body.put("client_secret", "***");
body.put("username", "tyler+prod@pactsafe.com");
body.put("password", "***");
// String jsonInputString = "{ grant_type: 'password', client_id: '***', client_secret: '***', password: '***', username: 'tyler+prod@pactsafe.com'";
System.out.println(body.toString());
OutputStreamWriter wr = new OutputStreamWriter(con.getOutputStream());
wr.write(body.toString());
wr.flush();
int httpResult = con.getResponseCode();
InputStream inputStream;
if (200 <= httpResult && httpResult <= 299) {
inputStream = con.getInputStream();
} else {
inputStream = con.getErrorStream();
}
BufferedReader in = new BufferedReader(
new InputStreamReader(inputStream));
StringBuilder response = new StringBuilder();
String currentLine;
while ((currentLine = in.readLine()) != null)
response.append(currentLine);
in.close();
System.out.println(response.toString());
System.out.println(httpResult);
driver.get("https://na85.lightning.force.com/lightning/setup/SetupOneHome/home");
我明白了:
{"password":"***","grant_type":"password","client_secret":"***","client_id":"***","username":"tyler+prod@pactsafe.com"}
{"error":"unsupported_grant_type","error_description":"grant type not supported"}
400
最佳答案
没有正确编码我的表单值。通过执行类似的操作来修复:
StringBuilder sb = new StringBuilder("grant_type=password");
sb.append("&client_id=").append(URLEncoder.encode("client_id__shhhh, "UTF-8"));
sb.append("&client_secret=").append(URLEncoder.encode("secret shhhhh", "UTF-8"));
关于java - {"error":"unsupported_grant_type","error_description":"grant type not supported"} 销售队伍 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57594014/
我们使用 Web 服务器身份验证流程实现了 OAuth 2.0。十月/十一月时运行良好,但突然停止运行。每当我们尝试授权另一个客户端时,服务器都会返回 (400) Bad Request with t
我正在尝试使用 django 发送请求,以使用 OAuth2 从我的 api 获取 access_token。我正在执行此代码: data = {'username': 'admin', 'passw
我有以下问题: 我正在创建一个 API(我是新来的) 有了这个 API,我想使用另一个 API 或 WebService 在 Postman 中,我向 URL 发出了一个 get 请求,它返回 OK
我正在尝试使用 alamofire 登录。我正在使用以下代码: let parameters = [ "username": "2gggggjggg",
我一直在尝试获取最简单的 IdentityServer4 示例,以便在后面的纯代码中请求访问。我可以在使用客户端请求时获得访问 token ,但在进行用户登录时却不能。 var discos = ne
我正在尝试让 discord OAuth 正常工作。在文档中,需要生成一个代码,这一步效果很好,但之后是生成 token 。它要求使用正确的参数发出 POST 请求,但它总是给我带来错误:{"erro
我正在玩 laravel 并尝试启用客户端凭据授予以保护某些 api 端点。 提供一些上下文: 我想创建一个位于数据库和多个网站(和 SPA)之间的 api。因此,我将能够进行一些监控(哪些网站/SP
问题 当我尝试验证从 Apple SSO 客户端流程返回的 code 时,我不断收到 unsupported_grant_type 400 错误。 docs假设当经过身份验证的客户端无权使用授权类型时
我正在尝试从 Pay Pal REST API 获取访问 token ,遵循这篇文章:https://developer.paypal.com/docs/api/overview/#get-an-ac
我正在尝试按照 docs 获取 Sage One API 的访问 token 使用 Guzzle (v6)/Laravel 5.2(Laravel 的参与与本题无关),卡在“请求访问 token ”阶
您好,我尝试做一个 Web 应用程序,但遇到了问题。当我从/oauth/token 请求 token 时,我收到此响应: {"error":"unsupported_grant_type","mess
我正在创建一个访问 Azure 上托管的数据库的 WebApi。实现基于 token 的身份验证后,它在本地完美运行,但在 Azure 上发布后,当我尝试获取访问 token 时,在 Postman
我正在创建一个访问 Azure 上托管的数据库的 WebApi。实现基于 token 的身份验证后,它在本地完美运行,但在 Azure 上发布后,当我尝试获取访问 token 时,在 Postman
我正在使用 Vapor 和 SWIFT 3 运行 Xcode 8.1。 我正在向谷歌服务器发送请求以获取授权 token ,这样我就可以调用 FireBaseDB API,但出现错误:unsuppor
我正在尝试使用 Node.js 应用程序访问 Spotify Web API。我已将 grant_type 指定为 authorization_code,但收到 unsupported_grant_t
我正在使用概述的“ token 检索(代码流)”here通过 OAuth2 检索 Reddit Api 的访问 token 。我已设法获得“code”字符串,但在尝试检索访问 token 时出现 un
我正在尝试将 paypal 集成到我的应用程序中,但出现 400 错误 [unsupported_grant_type] 授予类型为 NULL axios .post( '
我是 Salesforce 开发的新手,正在尝试连接到 Salesforce 来获取 token 。 我想我的问题有两个:1) 是否必须通过网页进行SF认证? 2)如果没有,为什么这不起作用?当我尝试
我已经使用 Passport 2.0 和 Laravel 5.4 成功实现了授权码授予和密码授予。添加 Passport::enableImplicitGrant(); 后在 AuthServiceP
我找遍了SO都无济于事,仍然没有解决方案。我正在尝试使用 asp.net 控制台应用程序和 httpclient 从第三方服务获取身份验证 token 。在 Postman 中一切正常,但在 C# 中
我是一名优秀的程序员,十分优秀!