davepar / gcalendarsync

Apps Script for syncing a Google Spreadsheet with Google Calendar
MIT License
161 stars 47 forks source link

Error 400 on GSuite marketplace #89

Open raffrica opened 2 years ago

raffrica commented 2 years ago

Love gcalendarsync. Went to use add-on in sheets today and it was no longer present. Unable to find in Google Marketplace either. I wonder if something happened after your last push 2 days ago?

Error 400 on marketplace https://gsuite.google.com/marketplace/app/gcalendar_sync/831559814916

Just letting you know.

Thanks

davepar commented 2 years ago

I haven't actually changed anything in the add-on in a year. Some people were having issues, which seemed to be caused by needing to authorize the script again. I bumped the version number and re-deployed hoping that would fix the issue. But it didn't seem to update at first. I changed some Marketplace settings, and it seems I've re-triggered the Google review process. There are a dozen issues Google wants me to resolve and I just don't have the time to deal with it.

Sorry it's not working any more. Google is making the process of publishing add-ons too difficult to do as a hobby project.

friedrichsbein commented 2 years ago

Oh no this is so unfortunate. This was the only bare bones sync add-on I could find. Is it gone for good? Any way I can add it to my scripts myself script.google.com ? Is there a Sheets to Calendar push add-on that is just as simple as yours that you happen to know? Thanks for your work and time, I appreciated it for over a year multiple times a day.

hansenlam commented 2 years ago

I haven't actually changed anything in the add-on in a year. Some people were having issues, which seemed to be caused by needing to authorize the script again. I bumped the version number and re-deployed hoping that would fix the issue. But it didn't seem to update at first. I changed some Marketplace settings, and it seems I've re-triggered the Google review process. There are a dozen issues Google wants me to resolve and I just don't have the time to deal with it.

Sorry it's not working any more. Google is making the process of publishing add-ons too difficult to do as a hobby project.

Hey Dave - your add-on is amazing and my team has come to rely on it for our scheduling workflow - would it be possible for you to post the source code for the new version (allowing multiple sheets/calendar syncing) to github so I could save it as a dedicated script on our scheduling document? Please let me know - thanks so much.

Patzjyk commented 2 years ago

I haven't actually changed anything in the add-on in a year. Some people were having issues, which seemed to be caused by needing to authorize the script again. I bumped the version number and re-deployed hoping that would fix the issue. But it didn't seem to update at first. I changed some Marketplace settings, and it seems I've re-triggered the Google review process. There are a dozen issues Google wants me to resolve and I just don't have the time to deal with it.

Sorry it's not working any more. Google is making the process of publishing add-ons too difficult to do as a hobby project.

Oh god! How so!? It was the main tool in my work in the company - it was simple and gorgeous! Can I do something, how can I help you !? I really need your application)

kventura4 commented 2 years ago

OH NO! We have almost 50 employees using this tool and they've loved it - such a great tool. Is there a chance the requirements will be taken care of so that it can get republished?

taurindb commented 2 years ago

Seriously, oh no! How can we get this back up and running?! Dave have you thought about starting a Patreon? We will buy you coffee and sandwiches forever to use this amazing tool.

moshechi89 commented 2 years ago

Joining the "oh no" here! If anyone found a solution for this incredible add-on that does not work anymore- please share it with the world!

Dave, your add-on is really helpful! hope you could upload it once again for us

friedrichsbein commented 2 years ago

We will buy you coffee and sandwiches forever

Yes!

enindza commented 2 years ago

Since there is no confirmation that Dave will continue to develop, and I have not found a single fork that has progressed on its own. Maybe you could use the old version. https://github.com/Davepar/gcalendarsync/tree/master/priorversion It is done differently and has gcalendarsync.js that you can insert into the Script Editor. The folder also contains instructions on how to do this. It’s not as good as the last one but if you don’t have anything at the moment you can try it. And it's easier to make minor changes if you're not used to Clasp. This may help until you find another suitable add-on.

Patzjyk commented 2 years ago

Since there is no confirmation that Dave will continue to develop, and I have not found a single fork that has progressed on its own. Maybe you could use the old version. https://github.com/Davepar/gcalendarsync/tree/master/priorversion It is done differently and has gcalendarsync.js that you can insert into the Script Editor. The folder also contains instructions on how to do this. It’s not as good as the last one but if you don’t have anything at the moment you can try it. And it's easier to make minor changes if you're not used to Clasp. This may help until you find another suitable add-on.

I tried using the old version but i get the error "TypeError: Cannot read property 'getEvents' of null" right away and what to do with her - I don't know

friedrichsbein commented 2 years ago

Since there is no confirmation that Dave will continue to develop, and I have not found a single fork that has progressed on its own. Maybe you could use the old version. https://github.com/Davepar/gcalendarsync/tree/master/priorversion It is done differently and has gcalendarsync.js that you can insert into the Script Editor. The folder also contains instructions on how to do this. It’s not as good as the last one but if you don’t have anything at the moment you can try it. And it's easier to make minor changes if you're not used to Clasp. This may help until you find another suitable add-on.

I tried using the old version but i get the error "TypeError: Cannot read property 'getEvents' of null" right away and what to do with her - I don't know

I had this Error as well and then found a superfluous "<" sign in line 8. Maybe you have the same problem.

After I deleted that I got another error message saying "Exception: The starting column of the range is too small.". This was because in the Add-on version I used row one of the spreadsheet for the Calendar-ID. For the script you can't have an emtpy first row. You have to have your headers in row one.

Another thing I had to change is the colors from their names to their numbers ("GRAY" --> "8").

The only thing not working is the All-day check-box

Unfortunately every time I sync it asks me if want to delete 70 events which it just immediately recreates. Even if I don't change any details. If anybody knows why this is I'd be glad to find out. It won't let me run the script again for a certain amount of time if I added too many events.

enindza commented 2 years ago

Since there is no confirmation that Dave will continue to develop, and I have not found a single fork that has progressed on its own. Maybe you could use the old version. https://github.com/Davepar/gcalendarsync/tree/master/priorversion It is done differently and has gcalendarsync.js that you can insert into the Script Editor. The folder also contains instructions on how to do this. It’s not as good as the last one but if you don’t have anything at the moment you can try it. And it's easier to make minor changes if you're not used to Clasp. This may help until you find another suitable add-on.

I tried using the old version but i get the error "TypeError: Cannot read property 'getEvents' of null" right away and what to do with her - I don't know

I had this Error as well and then found a superfluous "<" sign in line 8. Maybe you have the same problem.

After I deleted that I got another error message saying "Exception: The starting column of the range is too small.". This was because in the Add-on version I used row one of the spreadsheet for the Calendar-ID. For the script you can't have an emtpy first row. You have to have your headers in row one.

Another thing I had to change is the colors from their names to their numbers ("GRAY" --> "8").

The only thing not working is the All-day check-box

Unfortunately every time I sync it asks me if want to delete 70 events which it just immediately recreates. Even if I don't change any details. If anybody knows why this is I'd be glad to find out. It won't let me run the script again for a certain amount of time if I added too many events.

Make a backup copy!!!! Beware I have very limited knowledge about google script.

You need to assign a variable calendar ID number from your calendar as in this example.

var calendarId = '7pr39qxxxxxxxxxxxxxxvb0@group.calendar.google.com';

no <or> sign

Try this: deploy, test deployments, select type, google workspace add on, test latest code

save project with new name

click on script function onopen to select and run debug When asked verify app (advanced go to update calendar) alow

check if Calendar Sync menu is added to the google sheet. (inline with file, edit view, ...)

delete first line in Calendar tab with sheet ID as it is hard-coded in script.

friedrichsbein commented 2 years ago

deploy, test deployments, select type, google workspace add on, test latest code save project with new name

I can't save this because it sais "To test deployment as Add-on, update the manifest file with Add-on details" But my only problem is the You have been creating or deleting too many calendars or calendar events in too short a time. Please try again later.-Error. I have about 500 Events already synced to the calendar. If I add one more event and don't change anything for any other event it gives me that error.

I know there is the var THROTTLE_SLEEP_TIME = 200; var MAX_RUN_TIME = 5.75 * 60 * 1000; but I don't know how to use it and I'm not sure if that's acutally the problem.

enindza commented 2 years ago

There is a limit in number of events. https://support.google.com/a/answer/2905486?hl=en

If you create more than 100,000 events in calendar during a short period, you might lose calendar edit ability for a few hours. Time to replenish this limit—Possibly several months. | 100,000 events*

https://developers.google.com/apps-script/guides/services/quotas Calendar events created | 5,000 / day

look at the Davepar explanation https://github.com/Davepar/gcalendarsync/issues/52

You should try to debug and watch

   // Get spreadsheet and data
  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = spreadsheet.getActiveSheet();
  var range = sheet.getDataRange();
  var data = range.getValues();
  if (data.length < 2) { errorAlert('Spreadsheet must have a title row and at least one data row');
    return;
  }

data.length might be more than you expect

You could try with
var THROTTLE_SLEEP_TIME = 200; var MAX_RUN_TIME = 5.75 * 60 * 1000;

Or to try to debug and add extra delay every 100 events.

friedrichsbein commented 2 years ago

I've been debugging a bit and could prove that the skript is indeed recreating loads of unaltered events even though the skript already created them (I let it altert mit when it creats new IDs, except it is dublicating events with the exact same ID). Hence why I go over my limit. I don't know how to fix it yet but will update.

Patzjyk commented 2 years ago

How can I, a person without strong programming skills, overcome the error problem - You have been creating or deleting too many calendars or calendar events in too short a time. Please try again later. ? I have 8 calendars and only two have more than 1800 entries I do not understand how the developer was able to get around this problem, when I used the application from the marketplace, I synchronized it several times a day and there were no problems, can someone tell me. I have already tried changing the source code from the recommendations above - it did not help

jassler commented 2 years ago

In my attempt using the old version, I stumbled upon the following block:

function eventDifferences(convertedCalEvent, sev) {
  var eventDiffs = 0 + /* ... */;

  if (eventDiffs > 0 && convertedCalEvent.guests) {
    // Use a special flag value if an event changed, but it has guests.
    eventDiffs = EVENT_DIFFS_WITH_GUESTS;
  }
  return eventDiffs;
}

Is there a reason for the if statement to exist? All my events have guests, and if there's a single change to the event, the script wants to delete the calendar event and create a new one. Commenting out the if-block didn't seem to break anything.

Da-Ren-999 commented 2 years ago

NOOOOO, just as I have just amended my spreadsheet to accommodate for the add-on and ready to go live it dies....

@Davepar I must say sick add-on you made tho, it was definitely 1 of the best options out there. I even created a Github account just to find out whats happening hahaha.

Is there any way we can help?

Letsan commented 2 years ago

I haven't actually changed anything in the add-on in a year. Some people were having issues, which seemed to be caused by needing to authorize the script again. I bumped the version number and re-deployed hoping that would fix the issue. But it didn't seem to update at first. I changed some Marketplace settings, and it seems I've re-triggered the Google review process. There are a dozen issues Google wants me to resolve and I just don't have the time to deal with it.

Sorry it's not working any more. Google is making the process of publishing add-ons too difficult to do as a hobby project.

Hi Dave! I have some experience developing in Google Apps Script. Maybe open sourcing the latest version may let the community with the issues Google is pointing out?

Such a bummer to hear the news since this was a great add-on :(

crysman commented 2 years ago

This is VERY SAD :cry:

I like the idea with Patreon - @Davepar - would be a way for you? You would, indeed, spend some time with Google byrocracy, but this time, you would get paid by us, patreons... We really liked what you have done and provided a very useful extension!