用于Google Translate API的JAVA Jersey 2.0 REST客户端

用于Google Translate API的JAVA Jersey 2.0 REST客户端,rest,google-translate,jersey-2.0,Rest,Google Translate,Jersey 2.0,我正在尝试使用Jersey2.1 RESTClient访问GOOGLE Translate API import java.net.URI; import javax.ws.rs.client.Client; import javax.ws.rs.client.ClientBuilder; import javax.ws.rs.client.Invocation; import javax.ws.rs.client.WebTarget; impor

我正在尝试使用Jersey2.1 RESTClient访问GOOGLE Translate API

    import java.net.URI;
    import javax.ws.rs.client.Client;
    import javax.ws.rs.client.ClientBuilder;
    import javax.ws.rs.client.Invocation;
    import javax.ws.rs.client.WebTarget;
    import javax.ws.rs.core.MediaType;
    import javax.ws.rs.core.Response;
    import javax.ws.rs.core.UriBuilder;
    import org.glassfish.jersey.client.ClientConfig;
    public class Test {
    public static void main(String[] args) {
    ClientConfig config = new ClientConfig();
    Client client = ClientBuilder.newClient(new ClientConfig());
    // https://www.googleapis.com/language/translate/v2?key=INSERT-YOUR-KEY&source=en&target=de&q=Hello%20world


    WebTarget webTarget = client.target("https://www.googleapis.com/");
    WebTarget resourceWebTarget = webTarget.path("language/translate/v2");
    WebTarget helloworldWebTargetWithQueryParam = resourceWebTarget
            .queryParam("key", "XXXXXX-MYKEY-XXXXXXX")
            .queryParam("source", "en").queryParam("target", "de")
            .queryParam("q", "Hello%20world");
    Invocation.Builder invocationBuilder = helloworldWebTargetWithQueryParam
            .request(MediaType.APPLICATION_JSON);
     invocationBuilder.header("referer", "*.TestGoogleTranslate/*");
    Response response = invocationBuilder.get();
    System.out.println(response.getStatus());
    System.out.println(response.readEntity(String.class));
        }
    }
但是出现错误,看起来我没有正确的身份验证,但是我启用了Google Translate API并生成了BrowserKey。对吗

    403
    {
     "error": {
      "errors": [
       {
        "domain": "usageLimits",
        "reason": "dailyLimitExceeded",
        "message": "Daily Limit Exceeded"
       }
      ],
      "code": 403,
      "message": "Daily Limit Exceeded"
     }
    }

有没有什么设置我错过了

请尝试此选项并发布反馈

    import java.net.URI;
    import javax.ws.rs.client.Client;
    import javax.ws.rs.client.ClientBuilder;
    import javax.ws.rs.client.Invocation;
    import javax.ws.rs.client.WebTarget;
    import javax.ws.rs.core.MediaType;
    import javax.ws.rs.core.Response;
    import javax.ws.rs.core.UriBuilder;
    import org.glassfish.jersey.client.ClientConfig;
    public class Test {
    public static void main(String[] args) {
    ClientConfig config = new ClientConfig();
    Client client = ClientBuilder.newClient(new ClientConfig());
    // https://www.googleapis.com/language/translate/v2?key=INSERT-YOUR-KEY&source=en&target=de&q=Hello%20world


    WebTarget webTarget = client.target("https://www.googleapis.com/");
    WebTarget resourceWebTarget = webTarget.path("language/translate/v2");
    WebTarget helloworldWebTargetWithQueryParam = resourceWebTarget
            .queryParam("key", "XXXXXX-MYKEY-XXXXXXX")
            .queryParam("source", "en").queryParam("target", "de")
            .queryParam("q", "Hello%20world")
            .queryParam("'trace", "token:ACwti_dTHqWLzEnynUG9w9koj34mCZxBGxcCLuz_Woel68T9Ef5Syw1bzsjWMLbO8Lv0l6UNQ5q0z7RDZd3xn3WHDtlgolGoqg"); // line changed
    Invocation.Builder invocationBuilder = helloworldWebTargetWithQueryParam
            .request(MediaType.APPLICATION_JSON);
    invocationBuilder.header("referer", "*.TestGoogleTranslate/*");
    Response response = invocationBuilder.get();
    System.out.println(response.getStatus());
    System.out.println(response.readEntity(String.class));
    }
}