Ich habe angefangen, die GMail API zu verwenden, und es funktioniert gut auf meinem lokalen Computer; Es wird die Google-Berechtigungsseite geöffnet und ich kann mein Konto auswählen. Es speichert dann das Rückgabe-JSON-Token und fragt nur noch einmal, ob dieses Token entfernt wurde.GMail OAUTH nicht um Erlaubnis gefragt, wenn veröffentlicht
Wenn ich auf dem Server veröffentliche, wird die OAUTH-Seite nie angezeigt, und die Anwendung scheint eine Zeitüberschreitung mit der Ausnahme "Thread wurde abgebrochen" zu erhalten.
Mein Code;
try
{
using (var stream = new FileStream(HttpContext.Current.Server.MapPath("~/credentials/client_id.json"), FileMode.Open, FileAccess.Read))
{
string credPath = HttpContext.Current.Server.MapPath("~/credentials/gmail_readonly_token.json");
_credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
GoogleClientSecrets.Load(stream).Secrets,
Scopes,
"user",
CancellationToken.None,
new FileDataStore(credPath, true)).Result;
db.writeLog("INFO", "Gmail Credentials Saved","Credential file saved to: " + credPath);
}
// Create Gmail API service.
service = new GmailService(new BaseClientService.Initializer()
{
HttpClientInitializer = _credential,
});
}
catch (Exception e)
{
db.writeLog("Error", "Failure when creating Gmail class", e.Message, null, _username, null);
}
Gibt es etwas, was ich in der 'client_id.json' ändern müssen (formal client_secret.json) Datei? Das einzige, was ich verändert habe, ist die redirect_uris-Linie.
Alle anderen Vorschläge wären willkommen, die einzige andere Frage, die ich finden konnte, ist ähnlich here, aber es gibt keine Antwort.
Danke,
Danny.
Entschuldigung für die langsame Antwort! Ich versuche es, den Unterschied zwischen einer in IIS Express ausgeführten Webanwendung und einer in IIS auf dem Server ausgeführten Webanwendung zu erkennen, insbesondere, wenn der Serveranwendungspool so eingerichtet wurde, dass er wie ich ausgeführt wird. Prost! – RexNoctis