Ich frage mich, wie kann ich alle freigegebenen Google Kalender eines bestimmten Benutzers abrufen. Ich habe eine Service Account
, also muss ich nicht die Erlaubnis des Benutzers fragen.Wie bekomme ich alle öffentlichen Kalender von bestimmten Benutzern?
Eigentlich bin ich eine kleine Anwendung in C# wring. Wenn ich brauche, um ein Ereignis für einen bestimmten Benutzer E-Mail hinzufügen, ich einfach do:
Event myEvent = new Event
{
Summary = "Appointment"
Location = "Somewhere",
...
Attendees = new List<EventAttendee>()
{
new EventAttendee() { Email = "[email protected]"}
}
};
Wie können Sie also sehe ich die email
des Benutzers in der Attendees
Eigenschaft übergeben. Dadurch kann ich den Termin in den Hauptkalender eines bestimmten Benutzers eingeben.
Was ich wissen möchte ist: Wie kann ich das gleiche für die gemeinsame Google Calendar
erreichen? Auf diese Weise, die Anwendung zeigt dem Benutzer E-Mail, eine Liste von ihm öffentlichen Kalender, wählen Sie eine, und ich kann das Ereignis auf die angegebene E-Mail-und Kalender.
Ich habe versucht, so etwas zu tun:
var calendars = service.CalendarList.List().Execute().Items;
foreach (CalendarListEntry entry in calendars)
{
entry.Summary;
}
aber calendars
Rückkehr Count = 0
, weil ich, keine E-Mail angegeben haben, so nehme ich an, dass die API für den Zugriff auf meine E-Mail-API versuchen, richtig ? Wie kann ich der API die E-Mail des Benutzers mitteilen, um eine Kalenderliste nach der Methode CalendarList
zu erstellen?
Sehr interessante Antwort, das Ziel meiner App ist, zeigen Sie die Benutzer-Kalender, so dass der Benutzer ihn privaten Kalender auswählen und den Dienst darauf setzen kann. Aber ich denke, dass ich OAuth benutzen und ihn um die Erlaubnis bitten muss, meine App zu benutzen. – Dillinger
Wenn Sie auf den Kalender des Benutzers zugreifen müssen, müssen Sie Oauth2 verwenden. Anschließend können Sie sie dem Dienstkonto hinzufügen. – DaImTo