Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement Reminders #22

Open
kiwiz opened this issue Mar 26, 2018 · 16 comments
Open

Implement Reminders #22

kiwiz opened this issue Mar 26, 2018 · 16 comments
Assignees

Comments

@kiwiz
Copy link
Owner

kiwiz commented Mar 26, 2018

gkeepapi has access to the reminders api, but we're currently not making use of it. Figure out how to create reminders on notes.

@kiwiz kiwiz self-assigned this Mar 26, 2018
@rgson
Copy link

rgson commented Apr 17, 2019

Is this feature under active development? Otherwise, me and a couple of peers are interested in giving it a shot.

We're planning a small tool centered around Google Keep with reminders as a central feature, so naturally we'd gladly (try to) help implement this feature first.

@kiwiz
Copy link
Owner Author

kiwiz commented Apr 18, 2019

@rgson Not currently - any help would be appreciated! The code is already consuming the Reminders API - it just isn't doing anything with the data.

@kiwiz
Copy link
Owner Author

kiwiz commented Apr 18, 2019

One issue I was thinking about was whether I should pass a reference to the Keep object to every Note. Certain interactions become much easier to handle - as an example, the current kludgy

l = keep.addLabel('todo');
n.labels.add(l)

pattern could be more idiomatically represented as

n.labels.add('todo')

@rgson
Copy link

rgson commented Apr 18, 2019

Cool! In that case, we'll give it a shot. Thanks for the pointer - knowing where to start will definitely be helpful.

As for the labels, the resulting interface does seems much smoother. I had the idea of adding set-like operations to the n.labels property, although I haven't yet looked into how. It seems that it would've been easy after the change you're proposing, so passing a reference to the Keep object to the Notes is probably the key change either way.

I'll keep that alternative in mind in case we run into some similar situation with the reminders. If we do, then perhaps it could be a shared solution to both parts.

@Jinjinov
Copy link

Jinjinov commented May 12, 2019

Hi!

I am very interested in working with Google Keep reminders, but I can't find any solution anywhere on the internet.

Ideally I would prefer a Javascript solution as I have 3 years of experience with Javascript - or a PHP solution as I have 1 year of experience with PHP.

After searching very hard, I could only find your Python solution - which is not ideal as I have no experience with Python and my website hosting provider only supports PHP, but not Python.

I do have 18 years of experience with C++ and C# since 2001 and I would be willing to learn Python if I could work with Google Keep reminders.

All I need for my website is a list of all repeating reminders that are marked as "done" in Google Calendar. So for example if I have a daily repeating reminder "Walk the dog" and I mark it as "done" in Google Calendar on Monday, Tuesday and Friday then I want do display: "Reminder 'Walk the dog' was completed on 3 out of 7 days this week!"

I would appreciate any help or a chance for cooperation, thank you!

@rgson
Copy link

rgson commented May 12, 2019

@Jinjinov The group that I'm working with are looking into this, but we have not yet started implementing it. Our work on this isn't highly prioritized (just a collaborative hobby project), so it might take a while. Of course, anyone could come along and implement it in the meantime - that, I have no control over.

As for your use-case, the Google Tasks API could perhaps be an alternative. It is not connected to Google Keep as far as I know, but Google Tasks also offers recurrent reminders and the same type of Google Calendar integration that you mention.

@Jinjinov
Copy link

@rgson Thank you for your response! I have looked at the Google Tasks API at https://developers.google.com/tasks/v1/reference/tasks and I have found that you can determine if a task was completed by comparing the status property to "completed" but I have not found the possibility of recurring tasks anywhere. If there is a possibility of recurring tasks, that would solve my problem.

I would be willing to learn Python and help implement this feature as a hobby project on weekends (my main job during the week is working with C# and WPF).

@rgson
Copy link

rgson commented May 12, 2019

@Jinjinov I haven't looked deeply into the Tasks API myself. It's possible to add recurring tasks on gmail.com and in the Google Tasks app on Android, so I just assume that it's somehow possible through the API. The Tasks API is off topic here though. Feel free to hit me up on Gitter.im if you want to discuss that further.

If you end up giving this issue a go (i.e. implementing the Google Keep reminders in gkeepapi), please ping me in here. Creating parallel implementations would be a waste, so in that case me and my team could join in as reviewers instead if you're willing to submit it as a draft PR.

@Jinjinov
Copy link

I never created a new task from gmail, only from calendar - and on calendar I see no repeating option. When I reviewed the tasks api reference and found no "repeating" property, I assumed it was not possible. Thanks for letting me know that it is possible - this solves my problem.

Unfortunately I won't help implement reminders in python because my hobby website project is progressing very slowly as it is and that would further slow it down - I considered it only as a last option.

I apologize for derailing this thread, you can delete my comments.

@kiwiz
Copy link
Owner Author

kiwiz commented Jan 13, 2020

Reminder API is in courtesy of #72. Pending some more work to integrate into node objects.

@kiwiz
Copy link
Owner Author

kiwiz commented Jun 6, 2020

Support is currently disabled due to #87. It seems that https://www.googleapis.com/reminders/v1internal/reminders/ might have been removed. The Android app appears to use the google.android.gms.reminders provider to interact with reminders now.

@kiwiz
Copy link
Owner Author

kiwiz commented Jun 6, 2020

Notes:

  • Google Keep Notes and Lists_v5.20.201.03.40
  • com/google/android/apps/keep/shared/provider/KeepProvider: Note fields
  • com/google/android/apps/keep/shared/provider/RemindersDBUpgradeService: Seems to be migrating off Sqlite DB
  • bva: ReminderAPI
  • ejr: Constructs Reminders.API

@dimisjim
Copy link

This seems to be impossible to do at the moment, as there is no API endpoint for keep reminders provided by Google. Such a hostile move from their side, given that there have also removed the integration from Google calendar, and you are now basically left with no option to view these reminders in a calendar kinda view...

@kunkun-tang
Copy link

dimisjim

I'm looking for a free alternative to create reminders programmatically because Apple Reminders is not allowed for my work. It seems that Good Keep is also not an option because Google doesn't expose API.

@kunkun-tang
Copy link

Is google Task a viable alternative?

@kyrlon
Copy link

kyrlon commented Feb 16, 2024

@kiwiz Just curious, what was the basis of figuring out the majority of the api from an android client?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants