使用2-legged OAuth的Gmail Atom Feed接收到401错误

7
我们遇到了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。

谢谢。


与 Gmail-Notifier 有相同的问题。https://github.com/jashephe/Gmail-Notifier/issues/20 - Guillaume Boudreau
我报告了那个行为。 - raduz
一些可能有助于其他人的问题:是否有任何时间范围可以期望修复?是否有任何官方声明?工程师正在修复的信息在哪里?谢谢。 - raduz
1
现在,我们的域名问题已经解决。 - user3762739
问题对我来说也已经解决。 - Mark Embling
显示剩余6条评论
1个回答

3
实际上,这似乎是一个谷歌的问题。 我鼓励您向谷歌报告此问题,可以使用在OAuth 2.0 Playground(?)菜单中的报告错误/提供反馈选项,或者在Gmail内部(cogwheel菜单中的发送反馈选项)。

1
感谢您的评论。我们已向Google报告了此错误。 - user3762739
3
感谢您报告了这个问题,工程师正在努力解决。 - Claudio Cherubino
1
问题解决了吗? 我的代码仍然无法工作。 - user3762739
1
有任何进展了吗?我们正在使用gmail区块作为我们的VLE,现在学生们无法访问他们的UCAS电子邮件等,这是最糟糕的时候 :( - CMR
1
@ConnWarwicker 对于我们(也是一个在内部系统中集成了Gmail的教育机构),现在情况已经得到解决。如果您还没有尝试过,请再试一次。祝您和您的学生好运。 - Mark Embling
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接