2013-06-21 157 views
7

我在嘗試將OAuth與我的Chrome擴展程序集成。我正在按照谷歌教程:https://developer.chrome.com/extensions/tut_oauth.html帶有OAuth的Google Chrome擴展程序

我從background.js(由我定義,它由background.html加載)創建ExOauth。

var oauth = ChromeExOAuth.initBackgroundPage({ 
    'request_url': 'https://www.google.com/accounts/OAuthGetRequestToken', 
    'authorize_url': 'https://www.google.com/accounts/OAuthAuthorizeToken', 
    'access_url': 'https://www.google.com/accounts/OAuthGetAccessToken', 
    'consumer_key': 'anonymous', 
    'consumer_secret': 'anonymous', 
    'scope': 'https://docs.google.com/feeds/', 
    'app_name': Test app' 
    }); 

oauth.authorize(onAuthorized); 

這裏是OnAuthorized方法:

onAuthorized = function() { 
    // Start my application logic. 
}; 

我在這裏失去了一些東西?當我加載擴展時,它打開了幾個「重定向...」選項卡。 Multiple Oauth tabs

+0

我仍然有這個問題,它不斷打開新的選項卡。你是如何解決它的? – avi

回答

4

該教程似乎缺少一個文件。如果你打開chrome_ex_oauth.html,你會看到,它會嘗試加載3個js文件:未提供

<script type="text/javascript" src="chrome_ex_oauthsimple.js"></script> 
<script type="text/javascript" src="chrome_ex_oauth.js"></script> 
<script type="text/javascript" src="onload.js"></script> 

onload.js文件。該OAuth contacts example提供了這樣一個文件,包含以下內容:

window.onload = function() { 
    ChromeExOAuth.initCallbackPage(); 
} 

添加此文件後,它似乎工作得很好。

+0

我做了這個文件,它仍然保持打開數百個選項卡。我該如何解決這個問題? – avi

+0

@avi我遇到了Chrome OAuth分機打開數百個選項卡的問題。你有沒有想過問題是什麼? –

0

我知道問題有點老,但我有同樣的問題。

我犯了錯誤,我想驗證兩個oauth端點,並調用兩次ChromeExOAuth.initBackgroundPage({}) 很明顯,這是錯誤的原因,我不想啓動我的背景頁兩次。

也許使用..._ oauthsimple.js將修復該問題