0

私の目標は、指定された結果の数で TASKLIST の GoogleTaskAPI を要求することです。requestBodyを渡さない場合、正常に動作します。ただし、返される特定の数の結果にリクエストパラメーターを渡す必要があります。それを行うと、リストの代わりに新しいタスクリストが作成されます。では、これを行う方法は?

私のコード:

    GoogleAccessProtectedResource access = new GoogleAccessProtectedResource(accessToken, httpTransport, jsonFactory, clientId, clientSecret, refreshToken);
    HttpRequestFactory rf = httpTransport.createRequestFactory(access);

    String endPointUrl = "https://www.googleapis.com/tasks/v1/users/@me/lists";
    String requestBody = "{\"maxResults\":3}";

    GenericUrl endPoint = new GenericUrl(endPointUrl);
    ByteArrayContent content = new ByteArrayContent("application/json", requestBody.getBytes());

    //Try 0: Works, But Retrieving all of my Tasklist, I need only 3
    //HttpRequest request = rf.buildGetRequest(endPoint);
    //-------

    //Try 1: Fails to retrieve
    //HttpRequest request = rf.buildGetRequest(endPoint);
    //request.setContent(content);
    //request.getContent().writeTo(System.out);
    //-------

    //Try 2: Fails to retrieve
    HttpRequest request = rf.buildRequest(HttpMethod.GET, endPoint, content);
    request.getContent().writeTo(System.out);
    //-------

    HttpResponse response = request.execute();
    String str = response.parseAsString();
    utils.log(str);  
4

1 に答える 1

1

maxResultsはリクエスト パラメータではなくクエリ パラメータなので、URL に入れるだけです。

String endPointUrl = "https://www.googleapis.com/tasks/v1/users/@me/lists?maxResults=3";

また、要求を行うために Java クライアントの Tasks インターフェイスを使用することも検討する必要があります。URLの詳細を処理するので、少し簡単かもしれません:

http://code.google.com/p/google-api-java-client/wiki/APIs#Tasks_API

于 2012-09-18T13:46:56.280 に答える