我们遇到了包含两条腿OAuth的Gmail原子Feed问题,错误消息是“401未经授权”。
错误信息如下所示。
<HTML>
<HEAD>
<TITLE>Unauthorized</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Unauthorized</H1>
<H2>Error 401</H2>
</BODY>
</HTML>
直到上周,我们使用Gmail原子Feed都没有问题。从本周开始,即使我们对Gmail原子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();
}
我需要你的帮助。
请查看我们的源代码或其他样本,了解具有两条腿OAuth的gmail atom feed。
问候。
答案 0 :(得分:3)
确实,这似乎是Google的问题。 我们建议您使用OAuth 2.0 Playground的菜单或Gmail中的报告错误/提供反馈选项向Google报告此情况(发送反馈选项,来自菜单。)