到目前为止,我使用的是来自here的Google Translate API示例: -
我的代码段如下: -
import com.google.api.GoogleAPIException;
import com.google.api.translate.Language;
import com.google.api.translate.Translate;
import com.google.api.GoogleAPI;
public class TranslateCheck {
public static void main(String[] args) {
GoogleAPI.setHttpReferrer("http://code.google.com/p/google-api-translate-java/");
GoogleAPI.setKey("my api key here");
String translatedText="";
try {
translatedText = Translate.DEFAULT.execute("Anger", Language.ENGLISH,Language.URDU);
} catch (GoogleAPIException e) {
e.printStackTrace();
}
System.out.println(translatedText);
}
}
我得到的错误是: -
Caused by: java.io.IOException: Server returned HTTP response code: 403 for URL:
https://www.googleapis.com/language/translate/v2?
key=AIsdfabCSW_HEREplZ7vfUwaC34YmVT_F1m9Ps&q=Anger&target=ur&source=en
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source)
at com.google.api.GoogleAPI.retrieveJSON(GoogleAPI.java:89)
... 2 more
我知道这似乎是question的副本。但我的问题是,它如何准确知道setHTTPheader的CORRECT URL。我尝试使用以下
https://console.developers.google.com/
但无济于事。提前谢谢。
答案 0 :(得分:1)
在开发人员控制台中创建API密钥时。有几个选项可用于创建密钥(浏览器密钥,服务器密钥,IOS密钥等)。假设您选择了名为Server key的Key,那么您必须提供您希望允许使用API的机器的IP地址,如果您没有提供任何IP,那么所有公共IP地址都可以使用它。类似于浏览器和IOS密钥。浏览文档[1]以了解封顶使用情况。
[1] https://developers.google.com/console/help/new/?hl=en_US#cappingusage