We have created a Service Account in Google and Using Calendar API for adding events, it worked fine before ,after google stopped the account and reactivated it , it didn't work
We have tried new service account and debugged line by line of our code and no error and also returning created events but not showing in calendar
CalendarService service = null;
var serviceAccountCredentialFilePath =
Path.Combine(AppDomain.CurrentDomain.BaseDirectory,
"ServiceAccount_Key.json");
if (Path.GetExtension(serviceAccountCredentialFilePath).ToLower()
== ".json")
{
GoogleCredential credential;
string[] scopes = new string[] {
CalendarService.Scope.Calendar, // Manage your calendars
CalendarService.Scope.CalendarReadonly // View your Calendars
};
using (var stream = new FileStream(serviceAccountCredentialFilePath, FileMode.Open, FileAccess.Read))
{
credential = GoogleCredential.FromStream(stream)
.CreateScoped(scopes);
}
// Create the service.
service = new CalendarService(new BaseClientService.Initializer
{
HttpClientInitializer = credential,
ApplicationName = "Esoco"
});
}
// End //
// Insert Event //
var myEvent = new Event
{
Id = guid,
//Transparency = "OPAQUE",
Summary = subject,
Location = location,
Start = new EventDateTime { TimeZone = timezone, DateTime = start },
End = new EventDateTime { TimeZone = timezone, DateTime = end },
Attendees = objattendees,
Organizer = organizerdata,
Description = summary,
};
myEvent.Start.DateTimeRaw = myEvent.Start.DateTimeRaw.Replace("Z", "");
myEvent.End.DateTimeRaw = myEvent.End.DateTimeRaw.Replace("Z", "");
//myEvent.ICalUID
var recurringEvent = service.Events.Insert(myEvent, "primary");
recurringEvent.SendNotifications = true;
try
{
var outputofevent = recurringEvent.Execute();
ScriptManager.RegisterClientScriptBlock(this, typeof(string), "Alertscript", "alert('"+outputofevent.Status+"')", true);
}
Expected Result is Inserted Event Display in Calendar but Actual Result is Not Displayed in Calendar
remember that the following code inserts your events into the service accounts primary calendar
In order to see these events you will need to either do an events.list or invite someone else to the event so that they can see it in their own calendar.
Bug issue logged.
Beyond that there is currently an issue on the forums about invites not being sent https://issuetracker.google.com/issues/140746812
In the past few weeks, my team have the same issues, and this is what my team's workaround.
Our scenario
google-calendar@mycompany.iam.gserviceaccount.com
What we have done for a workaround.
system@mycompany.com
)system@mycompany.com
's calendar with a service account bygoogle-calendar@mycompany.iam.gserviceaccount.com
with "Make changes to events"After changing it, the created-event will be shown in Google Calendar as what it should.
Hope this helps