Java 哪一个是hello world最简单的google API?

Java 哪一个是hello world最简单的google API?,java,google-api,cloud,distributed-computing,google-api-java-client,Java,Google Api,Cloud,Distributed Computing,Google Api Java Client,最简单的谷歌API调用是什么?谷歌似乎没有问题的关键,他们只是想要一个计费选项设置。这是严格要求的吗?我不打算打击他们的服务器 最后,希望运行一些映射查询。首先,什么是谷歌服务或API映射API 谷歌翻译看起来是一项付费服务: thufir@dur:~/NetBeansProjects/helloWorldJavaFX$ thufir@dur:~/NetBeansProjects/helloWorldJavaFX$ gradle clean run > Task :run FAILED

最简单的谷歌API调用是什么?谷歌似乎没有问题的关键,他们只是想要一个计费选项设置。这是严格要求的吗?我不打算打击他们的服务器

最后,希望运行一些映射查询。首先,什么是谷歌服务或API映射API

谷歌翻译看起来是一项付费服务:

thufir@dur:~/NetBeansProjects/helloWorldJavaFX$ 
thufir@dur:~/NetBeansProjects/helloWorldJavaFX$ gradle clean run

> Task :run FAILED
Jun 08, 2019 9:35:43 PM net.bounceme.dur.fx.SpikeGoogleTranslate translate
INFO: key               AIzaSyDtE0WRh9l5AIlH6LSKYeeEKioquSWr1UQ
Jun 08, 2019 9:35:43 PM net.bounceme.dur.fx.SpikeGoogleTranslate translate
INFO: from              90210
Jun 08, 2019 9:35:43 PM net.bounceme.dur.fx.SpikeGoogleTranslate translate
INFO: to                90210
Jun 08, 2019 9:35:43 PM net.bounceme.dur.fx.SpikeGoogleTranslate translate
INFO: text              java
Exception in thread "main" com.google.api.client.googleapis.json.GoogleJsonResponseException: 403 Forbidden
{
  "code" : 403,
  "errors" : [ {
    "domain" : "usageLimits",
    "message" : "Cloud Translation API has not been used in project 198801459119 before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/translate.googleapis.com/overview?project=198801459119 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.",
    "reason" : "rateLimitExceeded"
  } ],
  "message" : "Cloud Translation API has not been used in project 198801459119 before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/translate.googleapis.com/overview?project=198801459119 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.",
  "status" : "PERMISSION_DENIED"
}
        at com.google.api.client.googleapis.json.GoogleJsonResponseException.from(GoogleJsonResponseException.java:150)
        at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:113)
        at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:40)
        at com.google.api.client.googleapis.services.AbstractGoogleClientRequest$1.interceptResponse(AbstractGoogleClientRequest.java:417)
        at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:1089)
        at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:515)
        at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:448)
        at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:565)
        at net.bounceme.dur.fx.SpikeGoogleTranslate.translate(SpikeGoogleTranslate.java:45)
        at net.bounceme.dur.fx.App.runApp(App.java:20)
        at net.bounceme.dur.fx.App.main(App.java:14)

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':run'.
> Process 'command '/usr/lib/jvm/java-8-openjdk-amd64/bin/java'' finished with non-zero exit value 1

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 1s
4 actionable tasks: 4 executed
thufir@dur:~/NetBeansProjects/helloWorldJavaFX$ 
代码:

package net.bounceme.dur.fx;
导入com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
导入com.google.api.client.http.HttpTransport;
导入com.google.api.client.json.JsonFactory;
导入com.google.api.client.json.jackson2.JacksonFactory;
导入com.google.api.services.translate.translate;
导入com.google.api.services.translate.TranslateRequestInitializer;
导入com.google.common.collect.ImmutableList;
导入java.io.IOException;
导入java.security.GeneralSecurityException;
导入java.util.Properties;
导入java.util.logging.Logger;
公共类谷歌翻译{
私有静态最终记录器log=Logger.getLogger(SpikeGoogleTranslate.class.getName());
公共void translate(属性)抛出IOException、GeneralSecurityException{
String key=properties.getProperty(“api_key”);
String originalLanguage=properties.getProperty(“原始语言”);
字符串translatedLanguage=properties.getProperty(“translated_language”);
String text=properties.getProperty(“text_to_translate”);
log.info(“key\t\t”+key);
log.info(“from\t\t”+原始语言);
log.info(“to\t\t”+translatedLanguage);
log.info(“text\t\t”+text);
//设置通过谷歌云控制台创建的密钥
最终TranslateRequestInitializer键\初始值设定项=新TranslateRequestInitializer(键);
//设置HTTP传输和JSON工厂
HttpTransport HttpTransport=GoogleNetHttpTransport.newTrustedTransport();
JsonFactory JsonFactory=JacksonFactory.getDefaultInstance();
//设置翻译
final Translate=new Translate.Builder(httpTransport,jsonFactory,null)
.setApplicationName(“我的项目”)
.setTranslateRequestInitializer(密钥初始化器)
.build();
//列表语言
{
System.out.println(translate.languages().list().execute());
//输出:{“语言”:{“语言”:“af”},{“语言”:“ar”},{“语言”:“az”},{“语言”:“be”},{“语言”:“bn”},{“语言”:“bs”},{“语言”:“ca”},{“语言”:“ceb”},{“语言”:“cs”},{“语言”:“da”},{“语言”:“de”},{“语言”:“el”},{“语言”:“en”},{“语言”:“e”},{“语言”:“e”},{“语言”:,{“语言”:“eu”},{“语言”:“fa”},{“语言”:“fi”},{“语言”:“fr”},{“语言”:“ga”},{“语言”:“gu”},{“语言”:“ha”},{“语言”:“hi”},{“语言”:“hmn”},{“语言”:“hr”},{“语言”:“ht”},{“语言”:“hu{“语言”:“ja”{“语言”:“jw”{“语言”:“ka”},{“语言”:“kk”},{“语言”:“km”},{“语言”:“ko”},{“语言”:“la”},{“语言”:“lo”},{“语言”:“lt”},{“语言”:“lv”{“语言”:“mg”},{“语言”:“mi”},{“语言”:“ml”},{“语言”:“ml”{“语言”:“mn语言“:”我的“},{”语言“:”ne“},{”语言“:”nl“},{”语言“:”ny“},{”语言“:”pa“},{”语言“:”pl“},{”语言“:”pt“},{”语言“:”ro“},{”语言“:”ru“},{”语言“:”si“},{”语言“:”sk“},{”语言“:”sl“},{”语言“:”so“},{”语言“,{”语言“:”sq sq},{”语言“,{”语言“:”语言“:”sr“},{”语言“,{”语言“,{”语言“},{”语言“,{sv语言:“sw”{“language”:“ta”},{“language”:“te”{“language”:“tg”},{“language”:“th”},{“language”:“tr”},{“language”:“uk”},{“language”:“uz”},{“language”:“vi”},{“language”:“yi”},{“language”:“yo”},{“language”:“zh TW”},{“language”:“zh TW”},{“language”:“zu”},{“language”}
}
//翻译
{
//词组
最终的ImmutableList短语stotranslate=ImmutableList.builder().add(“Hello world”).add(“我在哪里可以遛狗”).build();
//表演
System.out.println(translate.translations().list(phrasetostranslate,“fr”).execute());
//输出:{“translations”:[{“detectedSourceLanguage”:“en”,“translatedText”:“Bonjour le monde”},{“detectedSourceLanguage”:“en”,“translatedText”:“Oùpuis je promener mon chien”}]}
}
}
}

代码来自a。

据我所知,由于两个原因,我们通常会出现此错误

这可能是project中创建的新应用程序,我们没有启用它。或者,我们超出了每日/总点击数限制

你可以在这里得到全面的了解


您是否遵循了“云翻译API未在项目中使用”开头的说明“在错误消息中?即使不是付费API,您也必须将API添加到云项目中。我天真地选择了翻译API,但没有意识到它没有免费选项。我的意思是:即使您选择了像Fit这样的免费API,您仍然必须将该API添加到您的项目中。
package net.bounceme.dur.fx;

import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.json.JsonFactory;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.services.translate.Translate;
import com.google.api.services.translate.TranslateRequestInitializer;
import com.google.common.collect.ImmutableList;
import java.io.IOException;
import java.security.GeneralSecurityException;
import java.util.Properties;
import java.util.logging.Logger;

public class SpikeGoogleTranslate {

    private static final Logger log = Logger.getLogger(SpikeGoogleTranslate.class.getName());

    public void translate(Properties properties) throws IOException, GeneralSecurityException {
        String key = properties.getProperty("api_key");
        String originalLanguage = properties.getProperty("original_language");
        String translatedLanguage = properties.getProperty("translated_language");
        String text = properties.getProperty("text_to_translate");

        log.info("key\t\t" + key);
        log.info("from\t\t" + originalLanguage);
        log.info("to\t\t" + translatedLanguage);
        log.info("text\t\t" + text);

        // set key created via google cloud console
        final TranslateRequestInitializer KEY_INITIALIZER = new TranslateRequestInitializer(key);

        // Set up the HTTP transport and JSON factory
        HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
        JsonFactory jsonFactory = JacksonFactory.getDefaultInstance();

        // set up translate
        final Translate translate = new Translate.Builder(httpTransport, jsonFactory, null)
                .setApplicationName("My Project")
                .setTranslateRequestInitializer(KEY_INITIALIZER)
                .build();

        // list languages
        {
            System.out.println(translate.languages().list().execute());
            // output: {"languages":[{"language":"af"},{"language":"ar"},{"language":"az"},{"language":"be"},{"language":"bg"},{"language":"bn"},{"language":"bs"},{"language":"ca"},{"language":"ceb"},{"language":"cs"},{"language":"cy"},{"language":"da"},{"language":"de"},{"language":"el"},{"language":"en"},{"language":"eo"},{"language":"es"},{"language":"et"},{"language":"eu"},{"language":"fa"},{"language":"fi"},{"language":"fr"},{"language":"ga"},{"language":"gl"},{"language":"gu"},{"language":"ha"},{"language":"hi"},{"language":"hmn"},{"language":"hr"},{"language":"ht"},{"language":"hu"},{"language":"hy"},{"language":"id"},{"language":"ig"},{"language":"is"},{"language":"it"},{"language":"iw"},{"language":"ja"},{"language":"jw"},{"language":"ka"},{"language":"kk"},{"language":"km"},{"language":"kn"},{"language":"ko"},{"language":"la"},{"language":"lo"},{"language":"lt"},{"language":"lv"},{"language":"mg"},{"language":"mi"},{"language":"mk"},{"language":"ml"},{"language":"mn"},{"language":"mr"},{"language":"ms"},{"language":"mt"},{"language":"my"},{"language":"ne"},{"language":"nl"},{"language":"no"},{"language":"ny"},{"language":"pa"},{"language":"pl"},{"language":"pt"},{"language":"ro"},{"language":"ru"},{"language":"si"},{"language":"sk"},{"language":"sl"},{"language":"so"},{"language":"sq"},{"language":"sr"},{"language":"st"},{"language":"su"},{"language":"sv"},{"language":"sw"},{"language":"ta"},{"language":"te"},{"language":"tg"},{"language":"th"},{"language":"tl"},{"language":"tr"},{"language":"uk"},{"language":"ur"},{"language":"uz"},{"language":"vi"},{"language":"yi"},{"language":"yo"},{"language":"zh"},{"language":"zh-TW"},{"language":"zu"}]}
        }

        // translate
        {
            // phrases
            final ImmutableList<String> phrasesToTranslate = ImmutableList.<String>builder().add("Hello world").add("Where can I walk my dog").build();
            // perform
            System.out.println(translate.translations().list(phrasesToTranslate, "fr").execute());
            // output: {"translations":[{"detectedSourceLanguage":"en","translatedText":"Bonjour le monde"},{"detectedSourceLanguage":"en","translatedText":"Où puis-je promener mon chien"}]}
        }
    }

}