com.google.gdata.client.GoogleService$CaptchaRequiredException
I am getting below error while executing the gdata api sample code. I am new to the api . Please let me know the resolution for the same. Where i need to to put the captcha and how.
SEVERE: Authentication Error: Captcha required com.google.gdata.client.GoogleService$CaptchaRequiredException: Captcha required at com.google.gdata.client.GoogleAuthTokenFactory.getAuthException(GoogleAuthTokenFactory.java:623) at com.google.gdata.client.GoogleAuthTokenFactory.getAuthToken(GoogleAuthTokenFactory.java:500) at com.google.gdata.client.GoogleAuthTokenFactory.setUserCredentials(GoogleAuthTokenFactory.java:346) at com.google.gdata开发者_C百科.client.GoogleService.setUserCredentials(GoogleService.java:362) at com.google.gdata.client.GoogleService.setUserCredentials(GoogleService.java:317) at com.google.gdata.client.GoogleService.setUserCredentials(GoogleService.java:301) at com.google.gdata.client.appsforyourdomain.audit.AuditService.(AuditService.java:77) at AuditSampleClient.main(AuditSampleClient.java:100)
import java.util.Calendar;
import java.util.Properties;
import com.google.gdata.client.appsforyourdomain.audit.AuditService;
import com.google.gdata.client.appsforyourdomain.audit.MailBoxDumpRequest;
import com.google.gdata.data.TextConstruct;
import com.google.gdata.data.appsforyourdomain.AppsForYourDomainException;
import com.google.gdata.data.appsforyourdomain.generic.GenericEntry;
import com.google.gdata.util.AuthenticationException;
import com.google.gdata.util.ServiceException;
public class google_data {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
export_data();
}
public static void export_data()
{
MailBoxDumpRequest request = new MailBoxDumpRequest();
request.setAdminEmailAddress("-----");
request.setUserEmailAddress("----------");
Calendar beginDate = Calendar.getInstance();
beginDate.set(2011, Calendar.AUGUST, 1, 4, 30);
request.setBeginDate(beginDate.getTime());
Calendar endDate = Calendar.getInstance();
endDate.set(2011, Calendar.AUGUST, 30, 20, 0);
request.setEndDate(endDate.getTime());
request.setIncludeDeleted(true);
request.setSearchQuery("in:chat");
request.setPackageContent("FULL_MESSAGE");
AuditService service = null;
try {
service = new AuditService("-----", "------", "------", "-------auditapp-v1");
} catch (AuthenticationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
GenericEntry mailboxDumpEntry = null;
try {
mailboxDumpEntry = service.createMailboxDumpRequest(request);
} catch (AppsForYourDomainException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ServiceException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
TextConstruct requestId = mailboxDumpEntry.getSummary();
System.out.println(requestId.toString());
//String status = mailboxDumpEntry.getStatus();
//String numberOfFiles = mailboxDumpEntry.getNumberOfFiles();
}
}
It means exactly what it says - the service requires the user to solve a CAPTCHA before you can use an automated login again.
The exception should include a URL for the relevant CAPTCHA. From the client login user guide:
A failure response from ClientLogin contains an error code and a URL to an error page that can be displayed to the user. If the error code is a CAPTCHA challenge, the response also includes a URL to a CAPTCHA image and a special token. Your application should be able to solicit an answer from the user and then retry the login request.
The URL is available through the getCaptchaUrl()
method.
I got the solution:
http://code.google.com/googleapps/faq.html#handlingcaptcha
Why do I keep getting CAPTCHA errors even after I unlock the administrator account?
Please verify in your code that you are specifying your full administrator email address e.g. "admin@domain.com" instead of just "admin".
精彩评论