用于Google Translate API的JAVA Jersey 2.0 REST客户端
我正在尝试使用Jersey2.1 RESTClient访问GOOGLE Translate API用于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
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));
}
}