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

Default Scope for UserMessageGetCall #428

Open
burkematthew opened this issue Apr 19, 2023 · 1 comment
Open

Default Scope for UserMessageGetCall #428

burkematthew opened this issue Apr 19, 2023 · 1 comment

Comments

@burkematthew
Copy link

Hi there!

First, thanks for providing such a great crate! This is proving to be very useful for our team.

Second, in an attempt at implementing a basic call to the Gmail API for a specific message, we are using the messages_get function, which returns type UserMessageGetCall. The default scope of this type is Scope::AddonCurrentMessageReadonly, which equates to the Gmail scope of https://www.googleapis.com/auth/gmail.addons.current.message.readonly. However, the Gmail API documentation indicates that the required scope for simply reading a message is https://www.googleapis.com/auth/gmail.readonly, which is defined as Scope::Readonly.

I've gotten around this by adding the scope manually, but I would think that the default scope should be Scope::Readonly instead of Scope::AddonCurrentMessageReadonly?

Thanks!

@Byron
Copy link
Owner

Byron commented Apr 19, 2023

Thanks for letting me know.

As the APIs are autogenerated, most of the information about which scopes to use comes from the API description. I think there are also heuristics which try to determine a scope based on method names, but I don't remember details.

That said, the generator also supports overrides on a per-API basis, which are specified as JSON and would allow to amend the existing declaration (see etc/api/youtube/v3/youtube-api_overrides.yaml as example). However, what's needed to change default scopes on a per-call basis might not be implemented yet, and contributions to make that possible would definitely be welcome.

In the meantime, setting the scope manually should do the trick.

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

2 participants