ddvk / rmfakecloud

host your own cloud for the remarkable
GNU Affero General Public License v3.0
705 stars 57 forks source link

[DRAFT] Add Google Drive Integration #241

Open nemunaire opened 1 year ago

nemunaire commented 1 year ago

This PR implements Google Drive integration (it respond partially to #102). It depends on #240, and extends it a bit.

It features:

To finish my work, I need to find the answer to the following questions:

To do:

Let my know if you have some hints, requests, ...

NotNotQuinn commented 11 months ago

Understand why the doc told us JPG, PNG are supported, but they are reported as "Not compatible" with their official MIME type. Are they converted? How?

Even using the official Google Drive integration, you can't access JPGs or PNGs, so I don't think it should be a focus

NotNotQuinn commented 11 months ago

Document how to create an application to perform the OAuth mechanism

Probably google has some documentation, and then just point the user to where to input some tokens.

NotNotQuinn commented 11 months ago

There is a dedicated icon to highlight shared drives (penultimate image on https://support.remarkable.com/s/article/Integrating-with-Google-Drive-Dropbox-and-OneDrive): what is the key missing for that in message.IntegrationFile? (seems to be added in 2.13)

I investigated this and I found that I can't get the icon pictured to show up in 2.15.1.1189 (latest toltec) or 3.5.2.1807 (latest stable). Neither with a shared folder to a specific account, or a shared via a link anyone can access. The google drive web page shows the "shared folder" icon so I think that would be a scenario where it would be shown in the remarkable as well. I looked at the network traffic as well and I didn't see anything that would indicate changing a folder icon. For these reasons I don't think its worth while to pursue this icon feature anymore. It's possibly discontinued by remarkable and the field is no longer sent to the clients. The older versioned clients may still respect it, but there is no way to tell anymore.

NotNotQuinn commented 11 months ago

I can get a thumbnail from the API; there is a string (?) expected for that purpose in message.IntegrationMetadata, but what is the expected format?

image/png base64 encoded. resolution: 156x220

Example:

Request:

GET /integrations/v1/[redacted]/files/[redacted]/metadata HTTP/1.1
Host: internal.cloud.remarkable.com
Accept-Encoding: gzip, deflate
Accept-Language: en,*
Authorization: Bearer [redacted]
User-Agent: xochitl/2.15.1.1189 (codex 3.1.35-2)

Response:

HTTP/1.1 200 OK
Transfer-Encoding: chunked
Alt-Svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
Content-Type: application/json; charset=utf-8
Date: Thu, 17 Aug 2023 23:08:58 GMT
Server: Google Frontend
Traceparent: [redacted]
Via: 1.1 google
X-Cloud-Trace-Context: [redacted]
X-Envoy-Decorator-Operation: ingress GetIntegrationFileMetadata

21f8
{"id":"[redacted]","name":"foo","thumbnail":"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","sourceFileType":"application/pdf","providedFileType":"application/pdf","fileType":"pdf"}

0

Open this link in your browser to view the image:

data:image/png;base64,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
nemunaire commented 11 months ago

Hi @NotNotQuinn! Thanks for your investigations!

I just update my PR to include thumbnail retrieval, it works well for PDF, but not for google documents. Is this the same with the official integration?

I use this patch on my own instance since June. Once a week (exactly 1 week after the integration creation), the token seems to expire unexpectedly. Initially the access_token is valid 1 hour, I renew it correctly if needed thanks to the refresh_token. But according to the documentation the refresh_token shouldn't expire... I need to investigate this issue.

NotNotQuinn commented 11 months ago

I just update my PR to include thumbnail retrieval, it works well for PDF, but not for google documents. Is this the same with the official integration?

This isn't the case. On the official integration you can see previews for pdfs, google docs, google sheets, and google slides.

Also, I wanted to mention:

There is a second line on rm mock-ups, under the file name, with the textual file type or the number of pages: what is the key missing for that in message.IntegrationFile?

This doesn't show up in the official google drive integration either. It feels like it should, and it would be cool if it did, but it doesn't.