Cloud amazon云驱动器rest api遇到https 400错误代码
我提出这个要求Cloud amazon云驱动器rest api遇到https 400错误代码,cloud,amazon,Cloud,Amazon,我提出这个要求 https://www.amazon.com/ap/oa?client_id=amzn1.application-oa2- clientxxxxxxxxxxxxxxxxxxxxxxxxx&scope=clouddrive%3Aread%20clouddrive%3 Awrite&response_type=code&redirect_uri=https://roscasend.go.ro:8443/ 我已成功重定向到此页面 https://ros
https://www.amazon.com/ap/oa?client_id=amzn1.application-oa2-
clientxxxxxxxxxxxxxxxxxxxxxxxxx&scope=clouddrive%3Aread%20clouddrive%3
Awrite&response_type=code&redirect_uri=https://roscasend.go.ro:8443/
我已成功重定向到此页面
https://roscasend.go.ro:8443/?code=cccccccoooooodeeeeeee&scope=
clouddrive%3Aread+clouddrive%3Awrite
但是当从以下请求更新字段时
POST https://api.amazon.com/auth/o2/token HTTP/1.1
Host: api.amazon.com
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache
//those are the post's request arguments
grant_type=authorization_code&code=cccccccoooooodeeeeeee
&client_id=amzn1.application-oa2-clientxxxxxxxxxxxxxxxxxxxxxxxxx&
client_secret=secret______________________&redirect_uri=
http%3A%2F%2Froscasend.go.ro%3A8443
使用我的凭据,我将遇到400错误
关于如何更新上述请求以便工作,您能给我任何解决方案吗
请注意,第一个请求在浏览器中,第二个请求通过java。Hi aurelianr,您上面发布的代码最终解决了您的问题吗?或者你只是提供一个更新并分享你的源代码以供审查。你好,贾斯汀。上面的代码解决了我的问题。但是你必须小心。在此请求之后:clientxxxxxxxxxxxxxxxxxxxxx&scope=clouddrive%3read%20clouddrive%3 Awrite&response\u type=code&redirect\u uri=您将成功重定向到此页面clouddrive%3read+clouddrive%3write。请注意,您需要https重定向ulr才能工作。如果您对amazon cloud drive api有任何问题,我很乐意帮助您
BasicCookieStore cookieStore = new BasicCookieStore();
CloseableHttpClient httpclient = HttpClients.custom()
.setDefaultCookieStore(cookieStore)
.build();
HttpUriRequest login = null;
try {
login = RequestBuilder.post()
.setUri(new URI("https://api.amazon.com/auth/o2/token"))
.addParameter("grant_type", "authorization_code")
.addParameter("code", "cccccccoooooodeeeeeee")
.addParameter("client_id", "amzn1.application-oa2-clientxxxxxxxxxxxxxxxxxxxxxxxxx")
.addParameter("client_secret", "secret______________________")
.addParameter("redirect_uri", "https://roscasend.go.ro:8443/")
.build();
} catch (URISyntaxException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//login.addHeader("Content-Type", "application/x-www-form-urlencoded");
//login.addHeader("Host", "api.amazon.com");
login.addHeader("Cache-Control", "no-cache");
CloseableHttpResponse response2 = null;
try {
response2 = httpclient.execute(login);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
HttpEntity entity = response2.getEntity();
System.out.println("Login form get: " + response2.getStatusLine());
InputStream in = entity.getContent();
InputStreamReader is = new InputStreamReader(in);
StringBuilder sb=new StringBuilder();
BufferedReader br = new BufferedReader(is);
String read = br.readLine();
while(read != null) {
//System.out.println(read);
sb.append(read);
read =br.readLine();
}
EntityUtils.consume(entity);
System.out.println(sb.toString());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
response2.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
httpclient.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}