0

我正在使用 Google Contact API 通过 java 访问我的联系人。我正在为此使用我的 gmail 帐户。我的帐户有双向密码验证。所以我写了一个示例程序来显示标题。但我收到了类似的错误

线程“主”com.google.gdata.client.GoogleService$InvalidCredentialsException 中的异常:com.google.gdata.client.GoogleAuthTokenFactory 的 com.google.gdata.client.GoogleAuthTokenFactory.getAuthException(GoogleAuthTokenFactory.java:600) 中的凭据无效。 getAuthToken(GoogleAuthTokenFactory.java:500) 在 com.google.gdata.client.GoogleAuthTokenFactory.setUserCredentials(GoogleAuthTokenFactory.java:346) 在 com.google.gdata.client.GoogleService.setUserCredentials(GoogleService.java:362) 在 com.google .gdata.client.GoogleService.setUserCredentials(GoogleService.java:317) 在 com.google.gdata.client.GoogleService.setUserCredentials(GoogleService.java:301) 在 com.contact.manager.Create.createContact(Create.java:15 ) 在 com.contact.manager.Create.main(Create.java:26)

我的代码:

public class Create {

    public void createContact() throws IOException, ServiceException {
        ContactsService contactsService = new ContactsService(
                "mine-MyProduct-3");
        contactsService.setUserCredentials(username,
                password);
        URL feedUrl = new URL(
                "https://www.google.com/m8/feeds/contacts/{EmailID}/full");
        ContactFeed resultedFeed = contactsService.getFeed(feedUrl,
                ContactFeed.class);
        System.out.println(resultedFeed.getTitle().getPlainText());
    }

    public static void main(String[] args) throws IOException, ServiceException {
        Create create = new Create();
        create.createContact();
    }
}
  1. 当时我正在为我的帐户使用两步身份验证,我收到这样的错误。
  2. 使用普通帐户(我的意思是一步验证)时,我没有收到任何错误。

在进行两步身份验证时是否有任何特殊的方法来进行身份验证。你能帮忙吗?我卡在这里。

4

2 回答 2

1

正如 Google 在两步文档中明确指出的那样,您不能使用常规密码访问 API。

相反,您应该使用 OAuth 2。
或者,您可以创建一个特定于应用程序的密码。

于 2012-11-25T13:41:09.430 回答
1

试试这个!我希望它会有所帮助。当 API 请求失败时,HTTP 将返回 4xx 或 5xx 响应代码,一般标识失败,以及提供有关导致失败的错误的更具体信息的 XML 响应。

于 2012-12-06T06:03:56.460 回答