0

我正在尝试使用获取gmail的联系人

谷歌通讯录 API

Oauth 2.0 API。

我对这个概念完全陌生。我正在尝试使用此链接中给出的相同代码来获取所有联系人,但不知何故它不起作用。

我的代码

ContactsService service = new ContactsService("<var>Contacts
Fetcher</var>"); // Exception on this line 
    public ContactsService authenticateId() 
    { 
        try 
        { 
            service.setUserCredentials("example@gmail.com", "123456"); 
        } 
        catch(Exception e) 
        { 
            e.printStackTrace(); 
        } 
        return service; 
    } 

Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.collect.ImmutableSet.copyOf([Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;
at com.google.gdata.wireformats.AltFormat$Builder.setAcceptableTypes(AltFormat.java:399)
    at com.google.gdata.wireformats.AltFormat$Builder.setAcceptableXmlTypes(AltFormat.java:387)
    at com.google.gdata.wireformats.AltFormat.<clinit>(AltFormat.java:49)
    at com.google.gdata.client.Service.<clinit>(Service.java:558)
    at javamails.ContactsFetcher.<init>(ContactsFetcher.java:25)
    at javamails.ContactsFetcher.main(ContactsFetcher.java:68)

我试图阅读谷歌提供的参考资料和文档,但对我来说似乎没有多大帮助。如果有人有一个简单的示例或其他 api 来获取 gmail 联系人,请告诉我。

4

1 回答 1

0

确保包含您在运行时使用的库的必需依赖项。您似乎忘记包含Guava库。因此com.google.common.collect.ImmutableSet.copyOf无法找到该方法(在该库中定义)。

如果您告诉我们更多有关如何编译和运行代码的信息,我们可以告诉您要更改的设置。

于 2013-10-28T09:37:29.993 回答