我们遇到了Gmail原子Feed与2-legged OAuth的问题,错误信息为“401未经授权”。
以下是错误信息。
以下是错误信息。
<HTML>
<HEAD>
<TITLE>Unauthorized</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Unauthorized</H1>
<H2>Error 401</H2>
</BODY>
</HTML>
上周之前,我们使用Gmail的Atom Feed没有问题。但是从这周开始,我们遇到了问题,尽管我们在Gmail Atom Feed和OAuth方面没有做任何更改。
现在,这个问题并不会发生在所有用户(50,000个账户)身上,但这个问题正在越来越多地出现。
看起来这个问题是由Google方面引起的。
有没有其他人也遇到同样的问题?
源代码如下所示:
private GoogleOAuthParameters mOauthParameters;
private OAuthSigner mSigner;
private final String SCOPE = "https://mail.google.com/mail/feed/atom";
GoogleService service;
String result = null;
mOauthParameters = new GoogleOAuthParameters();
mSigner = new OAuthHmacSha1Signer();
mOauthParameters.setOAuthConsumerKey(CONSUMER_KEY);
mOauthParameters.setOAuthConsumerSecret(CONSUMER_SECRET);
service = new GoogleService("gmail","feed");
service.setOAuthCredentials(mOauthParameters, mSigner);
service.setConnectTimeout(timeOut);
service.setReadTimeout(timeOut * 5);
GDataRequest request = service.createFeedRequest(new URL(SCOPE +"?xoauth_requestor_id=" + email));
request.execute();
InputStream is = null;
try {
is = request.getResponseStream();
StringBuffer out = new StringBuffer();
byte[] buffer = new byte[4094];
int readSize;
while ( (readSize = is.read(buffer)) != -1) {
out.append(new String(buffer, 0, readSize));
}
result = out.toString();
} catch (Exception e) {
throw e;
} finally {
is.close();
}
我需要你的帮助。
请检查我们的源代码或其他样例,获取使用2-legged OAuth的gmail原子feed。
谢谢。