Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Simple Access API (Developer Key) with Google Cloud Endpoint (Python)

Is there a way to use Simple Access API (Developer Key) instead of oAuth2 key with Google Cloud Endpoint?

like image 991
Douglas Correa Avatar asked May 25 '13 09:05

Douglas Correa


People also ask

How do you create an endpoint in Python?

To create an endpoint, we define a Python class (with any name you want) and connect it to our desired endpoint with api. add_resource , like this: Flask needs to know that this class is an endpoint for our API, and so we pass Resource in with the class definition.


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.

like image 136
bossylobster Avatar answered Nov 07 '22 04:11

bossylobster


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

like image 4
caspertm Avatar answered Nov 07 '22 03:11

caspertm