Oauth 2.0 如何使用Oauth v2在融合表中进行身份验证

Oauth 2.0 如何使用Oauth v2在融合表中进行身份验证,oauth-2.0,google-fusion-tables,google-oauth,Oauth 2.0,Google Fusion Tables,Google Oauth,我试图从以下方面执行示例: 这基本上是一个关于如何验证和使用Fusion API的示例。我不能让它工作…在这一点上: // authorize return new AuthorizationCodeInstalledApp(flow, new LocalServerReceiver()).authorize("user"); 浏览器显示“错误:重定向\u uri\u不匹配” 这里奇怪的是,其他使用Oauth(google plus API和cloud storage one)进行身份验证的

我试图从以下方面执行示例:

这基本上是一个关于如何验证和使用Fusion API的示例。我不能让它工作…在这一点上:

// authorize
return new AuthorizationCodeInstalledApp(flow, new LocalServerReceiver()).authorize("user");
浏览器显示“错误:重定向\u uri\u不匹配”

这里奇怪的是,其他使用Oauth(google plus API和cloud storage one)进行身份验证的示例没有使用与此相同的方法,这基本上包括使用JSON文件,一旦通过API控制台创建了服务帐户,就可以下载JSON文件

实际上,有一个问题使用了这个例子中的方法:

我的主要问题是…哪一个是正确的?我对此不确定

第二个是……这个示例在JSON文件中查找一个名为client secret的项,我没有这个项。我不认为这是导致代码不可行的原因,但我想知道这个客户机密是什么

对于如何进行的一些见解将不胜感激

谢谢!
Alex

好吧,如果有人和我处境相同……我会发布我发现有效的解决方案。我所做的基本上是修改了这个示例(特别感谢Christian Junk的工作),因此在涉及身份验证时,它看起来更像其他示例(存储和其他示例)

    HTTP_TRANSPORT = GoogleNetHttpTransport.newTrustedTransport();

    // check for valid setup
    if (SERVICE_ACCOUNT_EMAIL.startsWith("Enter ")) {
      System.err.println(SERVICE_ACCOUNT_EMAIL);
      System.exit(1);
    }
    String p12Content = Files.readFirstLine(new File("key.p12"), Charset.defaultCharset());
    if (p12Content.startsWith("Please")) {
      System.err.println(p12Content);
      System.exit(1);
    }
    // service account credential (uncomment setServiceAccountUser for domain-wide delegation)
    GoogleCredential credential = new GoogleCredential.Builder().setTransport(HTTP_TRANSPORT)
        .setJsonFactory(JSON_FACTORY)
        .setServiceAccountId(SERVICE_ACCOUNT_EMAIL)
        .setServiceAccountScopes(FusiontablesScopes.FUSIONTABLES)
        .setServiceAccountPrivateKeyFromP12File(new File("key.p12"))
        // .setServiceAccountUser("user@example.com")
        .build();


    // set up global FusionTables instance
    fusiontables = new Fusiontables.Builder(HTTP_TRANSPORT, JSON_FACTORY, credential).setApplicationName(APPLICATION_NAME).build();
这与原始示例的方法不同,但它对我有效,我可以列出表、创建新表、填充表和删除表

我只希望在Oauth和Fusion tables文档页面中更容易找到示例,这将节省我一些宝贵的时间:)