Java 获取Plus Builder的Google API失败

Java 获取Plus Builder的Google API失败,java,google-api,Java,Google Api,我正试图从谷歌API获取人们的信息 下面是代码 public static void main(String[] args) throws IOException, JSONException { plus = new Plus.Builder(Auth.HTTP_TRANSPORT, Auth.JSON_FACTORY, new HttpRequestInitializer() { public void initialize(HttpRequest request)

我正试图从谷歌API获取人们的信息

下面是代码

public static void main(String[] args) throws IOException, JSONException
{
    plus = new Plus.Builder(Auth.HTTP_TRANSPORT, Auth.JSON_FACTORY, new HttpRequestInitializer() {
        public void initialize(HttpRequest request) throws IOException {
        }
    }).setApplicationName("youtubeSearchSample").build();

    Person profile = plus.people().get("https://www.googleapis.com/plus/v1/people/118359906569721392650?key=<Key>").execute();
    System.out.println("hello-->"+profile.toPrettyString());
}

public static Credential authorize(List<String> scopes, String credentialDatastore) throws IOException {

    // Load client secrets.
    InputStreamReader clientSecretReader = new InputStreamReader(Auth.class.getResourceAsStream("/client_secrets.json"));
    GoogleClientSecrets clientSecrets = GoogleClientSecrets.load(JSON_FACTORY, clientSecretReader);

    // Checks that the defaults have been replaced (Default = "Enter X here").
    if (clientSecrets.getDetails().getClientId().startsWith("Enter")
            || clientSecrets.getDetails().getClientSecret().startsWith("Enter ")) {
        System.out.println(
                "Enter Client ID and Secret from https://code.google.com/apis/console/?api=youtube"
                        + "into src/main/resources/client_secrets.json");
        System.exit(1);
    }

    // This creates the credentials datastore at ~/.oauth-credentials/${credentialDatastore}
    FileDataStoreFactory fileDataStoreFactory = new FileDataStoreFactory(new File(System.getProperty("user.home") + "/" + CREDENTIALS_DIRECTORY));
    DataStore<StoredCredential> datastore = fileDataStoreFactory.getDataStore(credentialDatastore);
    System.out.println("scopes-->"+scopes.toString());
    System.out.println("clientSecrets-->"+clientSecrets.toString());
    GoogleAuthorizationCodeFlow flow = new GoogleAuthorizationCodeFlow.Builder(
            HTTP_TRANSPORT, JSON_FACTORY, clientSecrets, scopes).setCredentialDataStore(datastore)
            .build();

    // Build the local server and bind it to port 8080
    LocalServerReceiver localReceiver = new LocalServerReceiver.Builder().setPort(8080).build();

    // Authorize.
    return new AuthorizationCodeInstalledApp(flow, localReceiver).authorize("user");
}
在这里,我刚刚用Plus.Builder替换了YouTube.Builder,但是我得到了上面提到的例外

任何GoogleAPI专家都会告诉我哪里出了错

Pom.xml依赖项:

<dependencies>
    <dependency>
        <groupId>com.google.apis</groupId>
        <artifactId>google-api-services-youtube</artifactId>
        <version>${project.youtube.version}</version>
    </dependency>

    <!-- Required for any code that makes calls to the Google Analytics API -->
    <dependency>
        <groupId>com.google.apis</groupId>
        <artifactId>google-api-services-youtubeAnalytics</artifactId>
        <version>${project.youtube.analytics.version}</version>
    </dependency>

    <!-- This dependency is only used for the Topics API sample, which requires 
        the Jackson JSON parser -->
    <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-mapper-asl</artifactId>
        <version>1.9.4</version>
    </dependency>

    <dependency>
        <groupId>com.google.http-client</groupId>
        <artifactId>google-http-client-jackson2</artifactId>
        <version>${project.http.version}</version>
    </dependency>

    <dependency>
        <groupId>com.google.oauth-client</groupId>
        <artifactId>google-oauth-client-jetty</artifactId>
        <version>${project.oauth.version}</version>
    </dependency>

    <dependency>
        <groupId>com.google.collections</groupId>
        <artifactId>google-collections</artifactId>
        <version>1.0</version>
    </dependency>

    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>3.3.1</version>
    </dependency>
    <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>2.2.4</version>
    </dependency>
    <dependency>
        <groupId>org.json</groupId>
        <artifactId>json</artifactId>
        <version>20090211</version>
    </dependency>
    <!-- Google API dependency -->
    <dependency>
        <groupId>com.googlecode.googleplus</groupId>
        <artifactId>google-plus-java-api</artifactId>
        <version>0.0.3</version>
    </dependency>
    <dependency>
        <groupId>com.google.apis</groupId>
        <artifactId>google-api-services-plus</artifactId>
        <version>v1-rev64-1.13.2-beta</version>
    </dependency>
</dependencies>

com.google.api
谷歌api服务youtube
${project.youtube.version}
com.google.api
谷歌api服务YouTubeAnytics
${project.youtube.analytics.version}
org.codehaus.jackson
杰克逊地图绘制者
1.9.4
com.google.http-client
google-http-client-jackson2
${project.http.version}
com.google.oauth-client
谷歌oauth客户端jetty
${project.oauth.version}
com.google.collections
谷歌收藏
1
org.apache.commons
commons-lang3
3.3.1
com.google.code.gson
格森
2.2.4
org.json
json
20090211
com.googlecode.googleplus
google plus java api
0.0.3
com.google.api
谷歌api服务升级版
v1-rev64-1.13.2-beta

我通过更新pom.xml中api库的版本修复了此错误

那你应该打电话

mvn clean package
您可以在Maven repository中找到最新版本的google库:


如果我的类路径中有重复的JAR,通常会出现该错误。是吗?我已经添加了使用的依赖项。前两个依赖项相同??不,不一样。一个是为你管数据,另一个是为你管数据分析。我仍在努力弄清楚这一点。有人知道吗
<dependencies>
    <dependency>
        <groupId>com.google.apis</groupId>
        <artifactId>google-api-services-youtube</artifactId>
        <version>${project.youtube.version}</version>
    </dependency>

    <!-- Required for any code that makes calls to the Google Analytics API -->
    <dependency>
        <groupId>com.google.apis</groupId>
        <artifactId>google-api-services-youtubeAnalytics</artifactId>
        <version>${project.youtube.analytics.version}</version>
    </dependency>

    <!-- This dependency is only used for the Topics API sample, which requires 
        the Jackson JSON parser -->
    <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-mapper-asl</artifactId>
        <version>1.9.4</version>
    </dependency>

    <dependency>
        <groupId>com.google.http-client</groupId>
        <artifactId>google-http-client-jackson2</artifactId>
        <version>${project.http.version}</version>
    </dependency>

    <dependency>
        <groupId>com.google.oauth-client</groupId>
        <artifactId>google-oauth-client-jetty</artifactId>
        <version>${project.oauth.version}</version>
    </dependency>

    <dependency>
        <groupId>com.google.collections</groupId>
        <artifactId>google-collections</artifactId>
        <version>1.0</version>
    </dependency>

    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>3.3.1</version>
    </dependency>
    <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>2.2.4</version>
    </dependency>
    <dependency>
        <groupId>org.json</groupId>
        <artifactId>json</artifactId>
        <version>20090211</version>
    </dependency>
    <!-- Google API dependency -->
    <dependency>
        <groupId>com.googlecode.googleplus</groupId>
        <artifactId>google-plus-java-api</artifactId>
        <version>0.0.3</version>
    </dependency>
    <dependency>
        <groupId>com.google.apis</groupId>
        <artifactId>google-api-services-plus</artifactId>
        <version>v1-rev64-1.13.2-beta</version>
    </dependency>
</dependencies>
mvn clean package