In Progress
Status Update
Comments
[Deleted User] <[Deleted User]> #2
Please fix this bug. I rely on this calendar software to track my tasks and this is causing me serious trouble.
[Deleted User] <[Deleted User]> #3
I'm getting reports from users of an app I developed which uses the Google Tasks API about this issue. Hoping Google will fix this one as it kind of breaks the API functionality..
ek...@google.com <ek...@google.com> #4
I see a little bit different issue. Once the date is "locked out" I cannot see the changes I make with third party apps whether or not I reload one or all of the apps. Everything displays correctly in the TP Apps on all sync'd devices, but never correctly displayed in the "Google Task" app on any sync'd device.
If I change the Due Date using the "Google Task" app, everything is displayed correctly in all TP Apps as well as Google Task apps on all sync'd devices.
If I change the Due Date using the "Google Task" app, everything is displayed correctly in all TP Apps as well as Google Task apps on all sync'd devices.
[Deleted User] <[Deleted User]> #5
I have been using Google Tasks with a third-party app for years, to manage personal and professional activities. This bug is making Tasks much harder to use and trust. Please prioritize and address. Thanks.
al...@anteateranalytics.com <al...@anteateranalytics.com> #6
I use http://calendar.google.com on my desktop and a hhird party app on my mobile devices. I am experiencing the exact behavior described by the original poster. This makes http://calendar.google.com unreliable and not usable. Please fix this bug so that http://calendar.google.com will be usable again.
ac...@gmail.com <ac...@gmail.com> #7
The OP is absolutely right. After some testing, I'm 99% sure the issue here is that there are two different due date fields in the database: the one available through the Google Tasks API, and the one that Google Calendar (and the rest of GSuite) uses. As the OP and others have said, this started when the due times and task recurrence features were added. Details on how to recreate the problem:
1. Create a Task with a due date (with or without a due time) athttps://calendar.google.com/
2. Use any app to update the task's due date via the Google Tasks API, even Google's own:https://developers.google.com/tasks/v1/reference/tasks/update
3. The Google Tasks API will report the date as the one that was changed, but Google Calendar will show the date it originally set
From that point on, changing the date with Google Calendar changes both dates (API and Calendar), but changing via the API only works if the date was never set by Calendar. As soon as Calendar writes to it's other field in the database, it will copy any change it makes to the datetime field the API uses, but will only every use the value it wrote to display in Calendar.
Solving the issue seems fairly straightforward: use the same datetime field in both Google Calendar/GSuite and the Google Tasks API. This would have the added advantage that developers using the Google Tasks API could set due times. Currently the Google Tasks API date is always rounded to 0 UTC, even if you set a time in Calendar, or attempt to set one via the API.
Thanks and have a good one,
Kevin
1. Create a Task with a due date (with or without a due time) at
2. Use any app to update the task's due date via the Google Tasks API, even Google's own:
3. The Google Tasks API will report the date as the one that was changed, but Google Calendar will show the date it originally set
From that point on, changing the date with Google Calendar changes both dates (API and Calendar), but changing via the API only works if the date was never set by Calendar. As soon as Calendar writes to it's other field in the database, it will copy any change it makes to the datetime field the API uses, but will only every use the value it wrote to display in Calendar.
Solving the issue seems fairly straightforward: use the same datetime field in both Google Calendar/GSuite and the Google Tasks API. This would have the added advantage that developers using the Google Tasks API could set due times. Currently the Google Tasks API date is always rounded to 0 UTC, even if you set a time in Calendar, or attempt to set one via the API.
Thanks and have a good one,
Kevin
[Deleted User] <[Deleted User]> #8
I have been experiencing exactly the same issue with a little command-line tool I wrote to help manage my task-lists.
Glad to finally find out what the problem is and hoping for a speedy bug-fix from Google.
(This is seriously ruining my productivity at work - I organise everything via Google Tasks!)
Glad to finally find out what the problem is and hoping for a speedy bug-fix from Google.
(This is seriously ruining my productivity at work - I organise everything via Google Tasks!)
ek...@google.com <ek...@google.com> #9
Experiencing the same issue....
Was there any update on this from Google side?
Was there any update on this from Google side?
[Deleted User] <[Deleted User]> #10
I too am having this problem. Very annoying.
[Deleted User] <[Deleted User]> #11
I'm also experiencing this. It's causing issues with tracking my tasks. Please fix this!
ek...@google.com <ek...@google.com>
[Deleted User] <[Deleted User]> #12
please fix this bug....
[Deleted User] <[Deleted User]> #13
We have a to-do list app on Google Play that is also affected by this bug. A prompt fix from Google would be appreciated, as we are getting complaints from our users about this.
al...@anteateranalytics.com <al...@anteateranalytics.com> #14
Experiencing the same issue.... please fix it.
sc...@gmail.com <sc...@gmail.com> #15
Same issue here. For me, this makes G tasks unusable. Please fix!
fi...@gmail.com <fi...@gmail.com> #17
The described issue is a follow up problem introduced by implementing this ticket:
https://issuetracker.google.com/issues/36759725
Description
If we have a credential that has authorized both the `gmail.readonly` and `gmail.metadata` scopes, we theoretically have access to that credential's full email message. However, when requesting a specific email message with `format=full`, we get an error that we are unable to do so because we have the `gmail.metadata` scope.
The desired behavior should be that obtaining the `gmail.readonly` scope supersedes the `gmail.metadata` scope, so we should be able to obtain the entire email message using `format=full`.
Note that the `
1. Requesting `format=full` with both `gmail.metadata` and `gmail.readonly` scopes.
2. Requesting `format=full` with both `gmail.metadata` and `
-----------------------------------------------------------------------------------------------------------------------------
A small code sample that reliably reproduces the issue. The sample should run as-is or with minimal setup, without external dependencies.
Unable to provide a code sample, as it would be too complex. Instead, please check out the steps to reproduce the problem below using Google's own API Explorer. If there are questions that are unresolved, happy to clarify in a followup.
-----------------------------------------------------------------------------------------------------------------------------
What steps will reproduce the problem?
1. Navigate to the API Explorer Here:
2. In the right "try it" sidebar, type "me" under userId and fetch a list of emails in your inbox. Copy an arbitrary email ID from the response to the clipboard. We will need the ID in the next step.
3. Navigate to the API Explorer Here:
4. In the right "try it" sidebar, type "me" under `userId` and paste the email ID from above under `id`.
5. Optionally, select "full" under `format`.
6. Under the "Authentication" section, click "Show Scopes". Uncheck all scopes EXCEPT the following two:
7. Click Execute. The API Explorer will try to fetch the entire email message (which we should be allowed to do because we have the `gmail.readonly` scope).
-----------------------------------------------------------------------------------------------------------------------------
What is the expected output? What do you see instead? If you see error messages, please provide them.
We expect to see the entire contents of the email message, because we have the `gmail.readonly` scope (which gives us permission to fetch the full email message. It is also a superset of the `gmail.metadata` scope):
```
{
"id": "ID",
"threadId": "THREAD_ID",
"labelIds": [
"UNREAD",
"IMPORTANT",
"CATEGORY_UPDATES",
"INBOX"
],
...
}
```
Instead, we get the following:
```
{
"error": {
"errors": [
{
"domain": "global",
"reason": "forbidden",
"message": "Metadata scope doesn't allow format FULL"
}
],
"code": 403,
"message": "Metadata scope doesn't allow format FULL"
}
}
```
-----------------------------------------------------------------------------------------------------------------------------
Please provide any additional information below.
We currently run an app used by clients all around the world where we request an increasing set of email permissions from `gmail.metadata` to `gmail.readonly` to eventually `gmail.send` (following best practices--we only request them when necessary). However, we are unable to access our users' email bodies after they authorize us to use the `gmail.readonly` scope (since they previously authorized us with the `gmail.metadata` scope).
We have found two solutions around this limitation so far:
1. Ask Google to revoke the user's access token and refresh token (and all scopes attached to that token), before asking the user to login again through another flow that _only_ authorizes the `gmail.readonly` scope. This is cumbersome for both the user and us, and we would appreciate if this behavior is fixed!
2. Never ask the user for the `gmail.metadata` scope--only ask for the `gmail.readonly` scope even if we don't need the full email. This is bad because it gives us unnecessary data, makes the user wary as to why they're providing readonly access when the metadata scope exists, and leads to a worse-off user experience.
Thank you!