我正在尝试从我的GATE应用程序连接到picasa网络相册。但是我无法进行身份验证。
PicasawebService myService = new PicasawebService("myclub");
myService.setUserCredentials("[email protected]", "my_password");
我得到的错误是
com.google.gdata.util.AuthenticationException: Error connecting with login URI
at com.google.gdata.client.GoogleAuthTokenFactory.getAuthToken(GoogleAuthTokenFactory.java:549)
at com.google.gdata.client.GoogleAuthTokenFactory.setUserCredentials(GoogleAuthTokenFactory.java:397)
at com.google.gdata.client.GoogleService.setUserCredentials(GoogleService.java:364)
at com.google.gdata.client.GoogleService.setUserCredentials(GoogleService.java:319)
at com.google.gdata.client.GoogleService.setUserCredentials(GoogleService.java:303)
Caused by: java.net.SocketTimeoutException: Timeout while fetching: https://www.google.com/accounts/ClientLogin
at com.google.appengine.api.urlfetch.URLFetchServiceImpl.fetch(URLFetchServiceImpl.java:52)
at com.google.apphosting.utils.security.urlfetch.URLFetchServiceStreamHandler$Connection.fetchResponse(URLFetchServiceStreamHandler.java:417)
at com.google.apphosting.utils.security.urlfetch.URLFetchServiceStreamHandler$Connection.getInputStream(URLFetchServiceStreamHandler.java:296)
at com.google.apphosting.utils.security.urlfetch.URLFetchServiceStreamHandler$Connection.getResponseCode(URLFetchServiceStreamHandler.java:149)
at com.google.gdata.client.GoogleAuthTokenFactory.makePostRequest(GoogleAuthTokenFactory.java:624)
at com.google.gdata.client.GoogleAuthTokenFactory.getAuthToken(GoogleAuthTokenFactory.java:547)
有人遇到过这个问题吗?
最佳答案
尝试增加超时时间。我在上传照片时遇到了这种情况,但没有通过身份验证。
我发现从我的开发应用程序引擎到picacaweb花500kb的照片花了大约17秒,默认超时是10秒。尽管读取响应超时,但通常上传成功。 60s是最大值,因此如果花费的时间超过此时间,则必须采取其他策略(上传/捕获超时/检查照片是否存在/读取元数据或相应地重新上传)。
PicasawebService.setConnectTimeout(60000);
PicasawebService.setReadTimeout(60000);
关于java - 将PicasawebService与GAE一起使用时出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19320768/