7

Google API クライアント ライブラリを使用して投稿リクエストを送信しようとしていますが、成功しません。

これは私が使用しているスニペットです

UrlEncodedContent urlEncodedContent = new UrlEncodedContent(paramMap);   //paramMap contains email and password keypairs
HttpRequest request = httpRequestFactory.buildPostRequest(new GenericUrl(Constants.PHP_SERVICE_BASE_PATH + mPath) , urlEncodedContent);
String response = request.execute().parseAsString();

期待どおりの応答が得られません。投稿パラメーター、つまりメールとパスワードが正しい形式で送信されていないためだと思います。それらをJSONで送信する必要があります。

:Google Webサービスのライブラリを使用していません。

4

2 に答える 2

8

JSON の入力として Map を使用しています。マップは、投稿リクエストで使用される JsonHttpContent の入力です。

Map<String, String> json = new HashMap<String, String>();
json.put("lat", Double.toString(location.getLatitude()));
json.put("lng", Double.toString(location.getLongitude()));
final HttpContent content = new JsonHttpContent(new JacksonFactory(), json);
final HttpRequest request = getHttpRequestFactory().buildPostRequest(new GenericUrl(url), content);
于 2014-06-20T10:00:56.187 に答える
1

UrlEncodedContentは、HTTPフォームコンテンツの投稿に使用されます(Content-Type:application / x-www-form-urlencoded)。Content-Typeがapplication/jsonの場合、おそらく使用する必要があります

http://code.google.com/p/google-http-java-client/source/browse/google-http-client/src/main/java/com/google/api/client/http/json/JsonHttpContent。 java

于 2012-08-07T11:37:36.660 に答える