Tôi đã làm việc trên Google OAuth 2.0 với java và bị tấn công với một số lỗi không xác định trong quá trình triển khai.
Các CURL sau đây để yêu cầu POST hoạt động tốt:Điều gì xảy ra với việc triển khai yêu cầu POST này?
curl -v -k --header "Content-Type: application/x-www-form-urlencoded" --data "code=4%2FnKVGy9V3LfVJF7gRwkuhS3jbte-5.Arzr67Ksf-cSgrKXntQAax0iz1cDegI&client_id=[my_client_id]&client_secret=[my_client_secret]&redirect_uri=[my_redirect_uri]&grant_type=authorization_code" https://accounts.google.com/o/oauth2/token
Và tạo ra kết quả theo yêu cầu.
Nhưng việc thực hiện sau đây yêu cầu POST trên trong java gây ra một số lỗi và các phản ứng trong "invalid_request"
Kiểm tra mã và điểm sau whats đi sai ở đây: (đã sử dụng Apache http-linh kiện)
HttpPost post = new HttpPost("https://accounts.google.com/o/oauth2/token");
HttpParams params = new BasicHttpParams();
params.setParameter("code", code);
params.setParameter("client_id", client_id);
params.setParameter("client_secret", client_secret);
params.setParameter("redirect_uri", redirect_uri);
params.setParameter("grant_type", grant_type);
post.addHeader("Content-Type", "application/x-www-form-urlencoded");
post.setParams(params);
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpResponse response = httpClient.execute(post);
thử với URLEncoder.encode(param , "UTF-8")
cho mỗi thông số nhưng điều đó cũng không hoạt động.
Nguyên nhân có thể là gì?
Điều đó đã giúp !!!! –