2013-06-21 159 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将修复该问题