Is there a way to use Simple Access API (Developer Key) instead of oAuth2 key with Google Cloud Endpoint?
2 Answers
Extra fields in your protorpc
request object that aren't part of the definition are still stored with the request.
If you wanted to use a key
field as a query parameter, you could access it via
request.get_unrecognized_field_info('key')
even if key
is not a field in your message definition.
This is done in users_id_token.py
(the Auth part of the endpoints
library) to allow sending bearer_token
or access_token
as query parameters instead of as header values.
Unfortunately, the nice quota checking and other associated pieces that a "Simple API Access" key gives are not readily available. However, you could issue your own keys and manually check a key against your list and potentially check against quotas that you have defined.
For those looking to use @bossylobster's answer in Java, use the the SO Answer here: Getting raw HTTP Data (Headers, Cookies, etc) in Google Cloud Endpoints
P.S. I tried to make this a comment in @bossylobster's answer, but I don't have the reputation to do that. Feel free to clean up this answer so that other's can follow the path