1

我正在尝试从我的 GAE 应用程序连接到 picassa webalbum。但我无法进行身份验证。

PicasawebService myService = new PicasawebService("myclub");
myService.setUserCredentials("username@gmail.com", "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)

有没有人遇到过这个问题?

4

1 回答 1

0

尝试增加超时。我在照片上传时遇到过这种情况,但不是在身份验证时。

我发现一张 500kb 的照片从我的开发 appengine 到 picacaweb 大约需要 17 秒,默认超时时间是 10 秒。尽管读取响应超时,但通常上传成功。60 秒是最大值,因此如果花费的时间超过此时间,则需要采用不同的策略(上传/捕捉超时/检查照片是否存在/读取元数据或相应地重新上传)。

PicasawebService.setConnectTimeout(60000);
PicasawebService.setReadTimeout(60000);
于 2014-05-18T10:32:29.667 回答