Erhalten Ungelesene E-Mails von Google-API
Ich versuche, die Anzahl der ungelesenen E-Mails mit google-API, aber nicht in der Lage. Jede Hilfe wird sehr geschätzt. Ich bekomme keine Fehler, aber die zählen nicht entsprechen der tatsächlichen Anzahl angezeigt, in Google Mail.
try
{
String serviceAccountEmail = "[email protected]";
var certificate = new X509Certificate2(@"C:\Projects\xxx\xyz\API Project-xxxxx.p12", "notasecret", X509KeyStorageFlags.Exportable);
ServiceAccountCredential credential = new ServiceAccountCredential(
new ServiceAccountCredential.Initializer(serviceAccountEmail)
{
User = "[email protected]",
Scopes = new[] { Google.Apis.Gmail.v1.GmailService.Scope.GmailReadonly }
}.FromCertificate(certificate));
var gmailservice = new Google.Apis.Gmail.v1.GmailService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = "GoogleApi3",
});
try
{
List<Message> lst = ListMessages(gmailservice, "[email protected]", "IN:INBOX IS:UNREAD");
}
catch (Exception e)
{
Console.WriteLine("An error occurred: " + e.Message);
}
}
catch (Exception ex)
{
}
InformationsquelleAutor GVMK | 2015-04-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie die ListMessages-Methode aus der API Beispiel (der Vollständigkeit halber enthalten) für die Suche:
Können Sie verwenden Sie diese Suchmethode zu finden, ungelesene Nachrichten, wie zum Beispiel diese:
Den q-parameter (query) können alle Arten von Zeug (es ist das gleiche wie das gmail-Suchfeld auf der Spitze der web-Schnittstelle), wie hier beschrieben: https://support.google.com/mail/answer/7190?hl=en.
Beachten Sie, dass Sie nur ein paar Parameter der Message-Objekte festgelegt werden. Wenn Sie möchten, abrufen der Nachrichten, die Sie verwenden müssen,GetMessage-Methode aus der api:
Ich bin damit einverstanden, dass die API ist nicht geradlinig, und findet eine Menge von Funktionen.
InformationsquelleAutor Harmen
Nur: Etiketten.bekommen(id="INBOX") und es hat diese Art von Statistiken (wie viele E-Mails in diesem label, wie viele ungelesen sind und dasselbe gilt für threads).
https://developers.google.com/gmail/api/v1/reference/users/labels/get
Kein Glück, was? Können Sie Kontext/was passiert, und wie unterscheidet es sich von dem, was ich gesagt habe? Mithilfe der API-Spielplatz zeigt, dass es funktioniert wie ich es beschrieben...
Warum tut es abzurufen verschiedene zahlen, als sehe ich in meinem gmail-Konto?
Dies ist wahrscheinlich, weil Sie mehrere Nachrichten in einem einzigen thread, die sind ungelesen. Gmail zeigt Ihnen die Anzahl der ungelesenen threads. Sie bekommen können, dass die gleichen Daten über
response.result.threadsUnread
versusresponse.result.messagesUnread
.InformationsquelleAutor Eric D
Lösung für .Net:
InformationsquelleAutor jiman14