2013-06-21 16 views
7

Ich versuche, OAuth mit meiner Chrome-Erweiterung zu integrieren. Ich folge dem Tutorial von Google: https://developer.chrome.com/extensions/tut_oauth.htmlGoogle Chrome-Erweiterung mit OAuth

Ich erstelle ExOauth von der background.js (definiert von mir und es wird von background.html geladen).

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); 

Hier ist die OnAuthorized Methode:

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

Bin ich hier etwas fehlt? Wenn ich die Erweiterung lade, öffnet es mehrere "Redirecting ...." Tabs. Multiple Oauth tabs

+0

ich immer noch dieses Problem bin und es immer wieder neue Registerkarten öffnen. Wie hast du es gelöst? – avi

Antwort

4

Das Tutorial scheint eine Datei zu fehlen. Wenn Sie chrome_ex_oauth.html öffnen, werden Sie sehen, dass es 3 js-Dateien zu laden versucht:

<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> 

Die onload.js Datei nicht vorgesehen ist. Die OAuth contacts example bietet eine solche Datei mit folgendem Inhalt:

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

Nach dem Hinzufügen dieser Datei, so scheint es ganz gut zu funktionieren.

+0

Ich habe diese Datei und immer noch Hunderte von Tabs geöffnet. Wie löse ich das? – avi

+0

@avi Ich habe dieses Problem mit dem Chrome OAuth ext beim Öffnen von Hunderten von Registerkarten festgestellt. Hast du jemals herausgefunden, was das Problem war? –

0

Ich weiß, die Frage ist ein bisschen älter, aber ich hatte das gleiche Problem.

Ich habe den Fehler gemacht, dass ich zwei oauth Endpunkt authentifizieren und beide Male die ChromeExOAuth.initBackgroundPage ({}) aufrufen möchte Offensichtlich ist das falsch, weil ich meine Hintergrundseite nicht zweimal initialisieren möchte.

Möglicherweise ist die ..._ oauthsimple.js mit behebt, dass