Consuming GAE Endpoints with a Python client

牧云@^-^@ 提交于 2019-12-04 09:59:24

问题


I am using Google AppEngine Endpoints to build a web API. I will consume it with a client written in Python. I know that scripts are provided to generate Android and iOS client API, but it doesn't seem that there is anything comparable for Python.

It does seem redundant to code everything again. For instance, the messages definition which are basically the same.

It there anyway of getting this done more easily?

Thanks


回答1:


You can use the Google APIs Client Library for Python which is compatible with endpoints.

Normally you would build a client using service = build(api, version, http=http) for example service = build("plus", "v1", http=http) to build a client to access to Google+ API.

For using the library for your endpoint you would use:

service = build("your_api", "your_api_version", http=http, 
  discoveryServiceUrl=("https://yourapp.appspot.com/_ah/api/discovery/v1/"
                       "apis/{api}/{apiVersion}/rest"))

You can then access your API with

result = service.resource().method([parameters]).execute()



回答2:


Here's what happens with the endpoints helloworld greetings example:

__author__ = 'robertking'

import httplib2
from apiclient.discovery import build

http = httplib2.Http()

service = build("helloworld", "v1", http=http,
  discoveryServiceUrl=("http://localhost:8080/_ah/api/discovery/v1/apis/helloworld/v1/rest"))

print service.greetings().listGreeting().execute()['items']

"""
prints
[{u'message': u'hello world!'}, {u'message': u'goodbye world!'}]
"""

Right now I'm using http.



来源:https://stackoverflow.com/questions/16315131/consuming-gae-endpoints-with-a-python-client

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!