google-apis-rs
google-apis-rs copied to clipboard
Default Scope for UserMessageGetCall
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!
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.