Closed Bug 1101175 Opened 10 years ago Closed 9 years ago

Accepting inviations doesn't work as expected (403 forbidden)

Categories

(Calendar :: Provider: GData, defect, P1)

defect

Tracking

(Not tracked)

RESOLVED FIXED
4.0.0.1

People

(Reporter: Fallen, Assigned: Fallen)

References

Details

Attachments

(1 file, 1 obsolete file)

See hints in bug 1079659 and others.

[JavaScript Error: "[calGoogleCalendar] Modifying item Meeting Bla failed:2147500037: {
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "forbidden",
    "message": "Forbidden"
   }
  ],
  "code": 403,
  "message": "Forbidden"
 }
}
"]
Thanks Phillip, let us know if you need any help. I have sent you an Outlook invitation weeks ago, dunno if you were able to use it.
Priority: -- → P1
Just received an iCloud invitation from a Mac, same problem, the event is in TB Calendar but does not synchronize with Google Calendar.
Random thought: Is it possible that this is related to the solution to the quota issue?  Phillip modified the code to connect to Google less frequently, in order to make the quota last long enough.  It could be that it will synchronize with Google, just not immediately the way 0.32 did.
No, unfortunately it does not. On the other hand if you create an event in TB calendar it appears immediately in Google, and vice versa.
What is the difference between an event appearing in TB calendar by accepting an event vs creating it manually? The problem should be in this difference.
I'm having the same issue for all Outlook/Exchange events that I receive.

Doesn't matter if I click accept or deny I always get this error in the log:

[JavaScript Error: "[calGoogleCalendar] Modifying item Foooo failed:2147500037: {
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "forbidden",
    "message": "Forbidden"
   }
  ],
  "code": 403,
  "message": "Forbidden"
 }
}
"]

This used to work with the old provider.
Where is positioned the log so i can check mine too?
Press CTRL + SHIFT + J or select Tools -> Error console.
Thanks,

in the "messages" tab the following text appears accepting an outlook/exchange invitation. The Event is correctly set in TB calendar, it does not synch with Google Calendar.

[JavaScript Error: "[calGoogleCalendar] Adding Item test failed:2147746065: A request Error Occurred. Status Code: 400 Bad Request Body: {
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "invalid",
    "message": "Invalid value for: Invalid format: \"2014-12-05T09:33:25Z\" is malformed at \"Z\""
   }
  ],
  "code": 400,
  "message": "Invalid value for: Invalid format: \"2014-12-05T09:33:25Z\" is malformed at \"Z\""
 }
}
"]
Alex, the timezone format issue is bug 1085287, it will be fixed in 1.0.3.

Regarding this issue, I haven't made progress on figuring it out and I think I will postpone it to 1.0.4 to get the other fixes out faster. It seems there is some aspect of this event the provider is changing, but I haven't found out which that is. It seems to happen when the event is already placed in the calendar and you are accepting the invitation then.

For further debugging, could you follow these steps?

0. Enable debugging, if you haven't already
1. Synchronize to make sure you don't get too many log messages
2. Clear your error console
3. Send the outlook invitation
4. Before you accept, synchronize again.
   - Copy out the JSON event data of the invitation from the sync run
5. Click on the invitation mail, accept or decline
   - Copy out both the error message and the JSON being sent when the item is modified
6. Ensure that the "forbidden" error mentioned in comment 0 shows up.

Then, post all the copied out messages here. If you are removing the attendee data, please keep the entry with your own attendee. You can replace the displayname/email with something generic, but I'd like to see the status and anything else. If in doubt, feel free to send the data via email.
Sorry, how to enable debugging?
ok.. debug enabled. Where to find the "json event data"? :(
Philipp, i have sent you a screenshot of the error console with debuging enabled.
For the record, Alex debug logs showed bug 1085287. I'd therefore like to ask everyone else who is getting the messages in comment 0 to read comment 9 and reply. Thanks!
Flags: needinfo?(unlogic)
Flags: needinfo?(spencer)
Flags: needinfo?(marcopar)
Can someone invite me to a such meeting? Doesn't have to be the exact event, but the circumstances should be as similar as possible. Please send invite to kewisch@gmail.com.
I sent invite.
Hi Philipp, I've gone through the steps in comment 9 and tried to Accept a meeting invite. This particular invite came from my Webex account, not an Outlook calendar, but the effect is identical.

Note I am using Google Apps for business, in case that matters. 

See my (redacted) output below:

[calGoogleCalendar] Modifying item My Event (master item)
------
[calGoogleRequest] Requesting PUT https://www.googleapis.com/calendar/v3/calendars/joe.bloggs%40somewhere.co.uk/events/_at2fdssfn4554o5l6kahak957____[REDACTED]___5l9l543gsrgdf5r6itbd
------
[calGoogleCalendar] Setting Upload Data (application/json; charset=UTF-8):
{"start":{"dateTime":"2014-12-23T11:00:00Z","timezone":"UTC"},"end":{"dateTime":"2014-12-23T12:00:00Z","timezone":"UTC"},"summary":"My Event","description":"\n\n\nJOIN MEETING[REDACTED]\n","location":"[REDACTED]","sequence":1,"status":"confirmed","organizer":{"email":"redacted@redacted.co.uk","displayName":"Redacted"},"attendees":[{"email":"joe.bloggs@somewhere.co.uk","displayName":"Joe Bloggs","responseStatus":"accepted"}],"reminders":{"overrides":[],"useDefault":true}}
------
[calGoogleCalendar] Sending request headers: ({})
------
[calGoogleRequest] Clock skew is -3 seconds
------
[calGoogleCalendar] Request PUT https://www.googleapis.com/calendar/v3/calendars/joe.bloggs%40somewhere.co.uk/events/_at2fdssfn4554o5l6kahak957____[REDACTED]___5l9l543gsrgdf5r6itbd responded with HTTP 403
------
[calGoogleCalendar] Login failed for joe.bloggs@somewhere.co.uk HTTP Status: 403 Reason: forbidden
------
[JavaScript Error: "[calGoogleCalendar] Modifying item My Event failed:2147500037: {
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "forbidden",
    "message": "Forbidden"
   }
  ],
  "code": 403,
  "message": "Forbidden"
 }
}
"]
Hey Matthew, thanks for the debug logs. I'm missing step 4 though, I need to figure out how the JSON has changed.
Flags: needinfo?(matthew.fletcher)
Hi Philipp, I've sent you the full output by email. Hope it helps.
Matt
Flags: needinfo?(matthew.fletcher)
Summary: Accepting inviations doesn't work as expected. → Accepting inviations doesn't work as expected (403 forbidden)
Attached file gdata-provider-1.0.4pre1.xpi (obsolete) β€”
I've made some changes for another bug that should also fix this one. Please test this xpi and see if it works for you.
Flags: needinfo?(unlogic)
Flags: needinfo?(spencer)
Flags: needinfo?(marcopar)
Attachment #8543523 - Attachment mime type: application/x-xpinstall → application/octet-stream
Flags: needinfo?(unlogic)
Flags: needinfo?(standard8)
Flags: needinfo?(ralf.gamillscheg)
Flags: needinfo?(mozilla-bugs)
Flags: needinfo?(matthew.fletcher)
Flags: needinfo?(dmartinri)
I'll test this as soon as I receive another Outlook invitation.
Flags: needinfo?(unlogic)
I've installed the update, I had to restart Thunderbird twice before it would start to pick up new invitations. I've done a limited test with invites from two people that caused me problems before and I'm glad to say it worked!

I'll report back if there's any further problems, thanks for making this fix. I will donate as promised.

I did notice that the invitation email sat in my Inbox for about 10mins before the "Invitations" link appears at the bottom to allow me to accept/decline event. I've noticed this previously, is this based on a timed parameter that I can change? 

What would be amazing would be to have accept/reject buttons from within the actual email. Perhaps that's a wider Thunderbird enhancement.
Flags: needinfo?(matthew.fletcher)
The xpi gives me the option to change the reminders (testing as requested in other bug). Thanks.
Flags: needinfo?(standard8)
(In reply to matthew.fletcher from comment #23)
> I did notice that the invitation email sat in my Inbox for about 10mins
> before the "Invitations" link appears at the bottom to allow me to
> accept/decline event. I've noticed this previously, is this based on a timed
> parameter that I can change? 

The preference for this is calendar.invitations.autorefresh.timeout. I didn't really expect this dialog to work, but I'm happy to hear it does.

> 
> What would be amazing would be to have accept/reject buttons from within the
> actual email. Perhaps that's a wider Thunderbird enhancement.

This should be happening, do you not get the blue bar? Any error console messages?
I wasn't getting the options in the blue bar. I've had a play around with the config and enabled calendar.google.enableEmailInvitations=true then associated my email address with the calendar, now I get the Accept/Decline buttons. Would that make sense?

I had a look at the calendar.invitations.autorefresh.timeout as well since the dialogue box is useful when you get a lot of invites in one go. It was set to 1 which is the lowest I was allowed to set it as an integer, so I guess thats as good as it gets. It definitely seems to take more than a minute to pick up the invites though.

(In reply to matthew.fletcher from comment #26)
> I wasn't getting the options in the blue bar. I've had a play around with
> the config and enabled calendar.google.enableEmailInvitations=true then
> associated my email address with the calendar, now I get the Accept/Decline
> buttons. Would that make sense?
> 
> I had a look at the calendar.invitations.autorefresh.timeout as well since
> the dialogue box is useful when you get a lot of invites in one go. It was
> set to 1 which is the lowest I was allowed to set it as an integer, so I
> guess thats as good as it gets. It definitely seems to take more than a
> minute to pick up the invites though.

I can confirm this behavior.

The Accept/Decline buttons have never been visible for me when using the Google Calendar provider. I have three Thunderbird/Lightning installations on different computers and they all have the same behavior.

When I receive an invitation I always have to wait 5-10 before the "Invitations" link shows up in the status bar.

However if add a local calender for the given e-mail address instead then the blue bar always show up right away.
Ok, I will investigate. I guess the organizer id is not set correctly, or some other matching is not right. Let me know if you have any error console messages that may be relevant.
Hi Philipp, 

Unfortunatelly this XPI (gdata-provider-1.0.4pre1.en-US.mac64.xpi) is returning the same error:

[JavaScript Error: "[calGoogleCalendar] Modifying item XPTO failed:2147500037: {
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "forbidden",
    "message": "Forbidden"
   }
  ],
  "code": 403,
  "message": "Forbidden"
 }
}
"]

Can I help you to identify this? 

Thnks a Lot!
Hi Washington, can you give me a little more logs than that, what happens when the modification starts? You can send it to me via email if you like.
Hello Phillipp, I've got the same issue, not sure why it started but am now completely disabled in Lightning. Greatly appreciate your help!!!!!

Also, is anyone working on a provider to link Lightning and Outlook365?

Thanks,
Tom
I just added my Google calendar as a CalDav (as opposed to selecting Google Calendar when you "add" a calendar........and it seems to be working!?!

At least the accepting, alarm, snooze, and deleting events part......
Attached patch Fix - v1 β€” β€” Splinter Review
Attachment #8543523 - Attachment is obsolete: true
Attachment #8552405 - Flags: review?(matthew.mecca)
Comment on attachment 8552405 [details] [diff] [review]
Fix - v1

Untested but looks good codewise. r=mmecca
Attachment #8552405 - Flags: review?(matthew.mecca) → review+
Flags: needinfo?(ralf.gamillscheg)
Flags: needinfo?(mozilla-bugs)
Flags: needinfo?(dmartinri)
Keywords: checkin-needed
Target Milestone: --- → 4.0
Pushed to comm-central changeset 38e702b512dd
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Keywords: checkin-needed
Resolution: --- → FIXED
Any ETA when a new Provider for Google Calendar containing this fix will be released?
The attached xpi also fixes the problem where I couldn't dismiss reminders (getting a "forbidden" in the error console).
where is the xpi?
See above, in the comments. Search for "gdata-provider-1.0.4pre1.xpi" on this page. It's weird that it doesn't appear in the list of attachments - maybe it's attached to a different ticket.
Actually, it does appear in the list of attachments: you just need to click "Show obsolete".
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: