私は Apache HttpComponents を使用していますが、何らかの理由でクエリ パラメータを使用して HttpPost を実行しようとすると、uri にパラメータが含まれていません。
コードの抜粋を次に示します。
List<BasicNameValuePair> parametersBody = new ArrayList<BasicNameValuePair>();
parametersBody.add(new BasicNameValuePair("response_type", "code"));
// continue adding parameters...
HttpPost post = new HttpPost("https://www.fitbit.com/oauth2/authorize");
post.setEntity(new UrlEncodedFormEntity(parametersBody, StandardCharsets.UTF_8));
HttpClient client = HttpClientBuilder.create().build();
HttpResponse response = client.execute(post);
EntityUtils.toString(post.getEntity()) で投稿のパラメーターを確認すると、すべてのパラメーターが期待どおりに存在します...ただし、投稿を実行すると、「https://www.fitbit.com/oauth2に移動します」 /承認?null "
ここで何をする必要がありますか? 違いがある場合、これは Android アプリ用ではありません。助けてくれてありがとう。
編集:当分の間、私は次のような回避策を行っています:
String uri = "https://www.fitbit.com/oauth2/authorize?"
+ EntityUtils.toString(new UrlEncodedFormEntity(parametersBody, StandardCharsets.UTF_8);
HttpPost post = new HttpPost(uri);
client.execute(post);