2011-07-21 64 views
1

我試圖使用OAuth在瀏覽器中訪問JavaScript中的Gmail的原子飼料(是的,我知道構建瀏覽器內OAuth應用程序的安全風險;它是供個人使用,我不擔心我偷了我自己的消費鑰匙)。使用OAuth與Gmail的原子飼料

但是,訪問Atom提要給我的用戶是錯誤的。

我打電話:

oa.Ajax().get("https://mail.google.com/mail/feed/[email protected]", callback); 

其中oa.Ajax.get包裝正確的OAuth信息(它的工作原理,我可以用它來訪問其他谷歌服務)。

我也嘗試呼叫沒有xoauth_requestor_id參數。

預期結果: 我得到的authed用戶的飼料

實際結果:我得到默認的Gmail用戶

任何的Atom提要知道爲什麼這可能發生?謝謝。

+0

我還試着一步一步的OAuth操場告訴我,哪些不起作用(因此谷歌的API中的錯誤)。我最後只是在'https:// mail.google.com/mail/u/111111/feed/atom'上使用基本訪問權限,只要用戶沒有登錄到超過111,111個谷歌帳戶,它就會工作。 –

回答

0

您需要通過您的身份驗證令牌等使用授權標頭,我不知道這是可能的或不使用AJAX。但是,由於您已登錄Gmail,因此您的身份信息正在用於檢索Feed,這就是爲什麼您會看到自己的Feed,而不是被授權的用戶。

+0

你的直覺是對的 - 你實際上可以使用帶有AJAX的授權頭,但這不是OAuth失敗的原因(這實際上只是因爲Gmail Atom提要不遵守協議)。但是,您可以在授權標頭中使用基本訪問身份驗證(我知道不安全),以獲取正確的Atom提要。 –