我正在使用Google Contact API通过java访问我的联系人。我正在使用我的Gmail帐户。我的帐户有双向密码验证。所以我写了一个示例程序来显示标题。但我得到的错误就像
线程中的异常" main" com.google.gdata.client.GoogleService $ InvalidCredentialsException: 凭据无效 com.google.gdata.client.GoogleAuthTokenFactory.getAuthException(GoogleAuthTokenFactory.java:600) 在 com.google.gdata.client.GoogleAuthTokenFactory.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)at 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();
}
}
在进行两步验证时是否有任何特殊方法可以进行身份验证。 你能帮忙吗?我卡在这里。
答案 0 :(得分:1)
正如Google在两步文档中明确指出的那样,您无法使用常规密码进行API访问。
相反,您应该使用OAuth 2.
或者,您可以创建特定于应用程序的密码。
答案 1 :(得分:1)
试试吧!我希望它会有所帮助。当API请求失败时,HTTP将返回4xx或5xx响应代码(通常用于识别故障)以及XML响应,该响应提供有关导致故障的错误的更具体信息。