Ich verwende chrome.identity.getAuthToken
, um mit einigen internen API zu sprechen. Alles ist perfekt für die ersten 20 Stunden, ich kann die API anrufen und bekomme, was ich brauche.Chrome-Erweiterung Kein 'Access-Control-Allow-Origin'-Header nach 20 Stunden
Nach ~ 20 Stunden meine Verlängerung aufgehört zu arbeiten und ich bekomme:
Nein "Access-Control-Allow-Origin-Header auf die angeforderte Ressource vorhanden ist. Ursprung 'https://MY_API' ist daher nicht erlaubt.
Ich weiß, dass chrome.identity.getAuthToken
abgelaufenen Token erneuern und ich kann bei chrome://identity-internals/
, bekommt mein Code ein neues Zugriffstoken kann aber nicht die Anforderung senden, dass.
Wenn ich die Erweiterung erneut deinstalliere/installiere, funktioniert sie wieder.
Manifest enthält:
"permissions": [ "tabs", "activeTab", "cookies", "identity", "<all_urls>" ]
Was passiert, wenn ich meine Erweiterung neu installieren, dass der Fehler weg gehen macht?
background.js:
chrome.identity.getAuthToken({interactive: true}, function(token) {
gapi.auth.setToken({'access_token': token});
// Load the storage API.
gapi.client.load(API_ROOT + DISCOVERY_PATH,
VERSION, function() {
// Initialize GAPI's OAuth.
gapi.auth.init(function() {
var request = "It's request to my API";
// Not working after 20 hours
request.execute(function(response) {
// do something
});
});
});
})
auch versucht, "chrome.identity.removeCachedAuthToken" zu nennen, aber Erweiterung gestoppt in 20 Stunden zu arbeiten.
Dies erfordert eine weitere wichtige Klarstellung. Wo siehst du diesen Fehler? Ist es in einem Inhaltsskript? Weil es sehr seltsam ist, dass Ihre API-URL das _origin_ ist. Bitte fügen Sie den Code (Maskierung der URL) ein, der diesen Fehler auslöst. – Xan
Ich habe meinen ersten Beitrag aktualisiert – Julia
Warum ... Warum verwenden Sie GAPI aller Dinge, um auf Ihre API zuzugreifen? – Xan