Javascript 将OAuth与gmail一起使用';s原子馈源

Javascript 将OAuth与gmail一起使用';s原子馈源,javascript,oauth,gmail,atom-feed,Javascript,Oauth,Gmail,Atom Feed,我正试图使用OAuth在浏览器中访问gmail的atom提要javascript(是的,我知道在浏览器中构建OAuth应用程序的安全风险;它是供个人使用的,我不担心我窃取自己的用户密钥) 然而,访问Atom提要给了我一个错误的用户 我打电话: oa.Ajax().get("https://mail.google.com/mail/feed/atom?xoauth_requestor_id=user@domain.com", callback); 其中oa.Ajax.get包装了适当的OAuth

我正试图使用OAuth在浏览器中访问gmail的atom提要javascript(是的,我知道在浏览器中构建OAuth应用程序的安全风险;它是供个人使用的,我不担心我窃取自己的用户密钥)

然而,访问Atom提要给了我一个错误的用户

我打电话:

oa.Ajax().get("https://mail.google.com/mail/feed/atom?xoauth_requestor_id=user@domain.com", callback);
其中
oa.Ajax.get
包装了适当的OAuth信息(它可以工作;我可以使用它访问其他google服务)

我还尝试在没有
xoauth\u requestor\u id
参数的情况下调用

预期结果: 我得到授权用户的提要

实际结果:我得到默认gmail用户的atom提要


有人知道为什么会这样吗?谢谢。

您需要使用授权头传递身份验证令牌等,我不确定是否可以使用AJAX。但是因为你登录了Gmail,你的身份被用来检索feed,这就是为什么你看到的是你自己的feed,而不是授权用户的feed。

我也一步一步地尝试了OAuth游乐场告诉我的方法,但没有成功(因此谷歌API中出现了一个bug)。我最后只在
https://mail.google.com/mail/u/111111/feed/atom
,只要用户登录的google帐户不超过111111个,它就可以工作。您的直觉是正确的——您实际上可以在AJAX中使用授权头,但这不是OAuth失败的原因(这实际上只是因为Gmail Atom提要不遵守协议)但是,您可以在授权头中使用基本访问验证(我知道是不安全的)来获得正确的Atom提要。