7

我们遇到了带有 2-legged OAuth 的 Gmail atom 提要问题,错误消息是“401 未授权”。

错误消息如下所示。

<HTML>
<HEAD>
<TITLE>Unauthorized</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Unauthorized</H1>
<H2>Error 401</H2>
</BODY>
</HTML>

直到上周,我们使用 Gmail atom 提要都没有问题。从本周开始,即使我们对 Gmail atom 提要和 oauth 没有任何更改,我们也遇到了这个问题。现在,并非所有用户(50,000 个帐户)都会出现此问题,但此问题越来越多。

看来这个问题是谷歌这边造成的。

有没有人有同样的问题?

源代码如下所示。

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 atom 提要。

问候。

4

1 回答 1

3

事实上,这似乎是谷歌的问题。我鼓励您使用OAuth 2.0 Playground菜单中的Report a Bug / Provide Feedback选项或 Gmail(菜单中的Send feedback选项)将此情况报告给 Google。(?)齿轮

于 2014-06-23T02:31:20.957 回答