Python 谷歌端点API自定义侦听器

Python 谷歌端点API自定义侦听器,python,google-app-engine,google-cloud-endpoints,Python,Google App Engine,Google Cloud Endpoints,我们有一个基于GoogleEndpointsAPI构建的简单服务。所有这些都可以正常工作,但问题是API是通过backbone.js从其他主机调用的。所以我必须允许访问控制,允许源代码:*在服务器端 但是a在文档或其他文件中找不到任何解决方案。 我已尝试在应用程序中设置此选项。yaml类似于: http_headers: Access-Control-Allow-Origin: http://.* 但这只适用于静态目录,而不适用于脚本 谢谢你的主意和帮助 from google.app

我们有一个基于GoogleEndpointsAPI构建的简单服务。所有这些都可以正常工作,但问题是API是通过backbone.js从其他主机调用的。所以我必须允许访问控制,允许源代码:*在服务器端

但是a在文档或其他文件中找不到任何解决方案。 我已尝试在应用程序中设置此选项。yaml类似于:

http_headers:
    Access-Control-Allow-Origin: http://.*
但这只适用于静态目录,而不适用于脚本

谢谢你的主意和帮助

from google.appengine.ext import endpoints
from google.appengine.ext import ndb
from protorpc import messages
from protorpc import message_types

from protorpc import remote

class SpotModel (ndb.Model):
    description = ndb.StringProperty(required=True)
    latitude = ndb.FloatProperty()
    longitude = ndb.FloatProperty()


class Spot (messages.Message):
    description = messages.StringField(1, required=True)
    lat = messages.FloatField(2)
    lng = messages.FloatField(3)
    id  = messages.IntegerField(4)


class SpotList (messages.Message):
  items = messages.MessageField(Spot,1, repeated=True)

@endpoints.api(name="spots", version='v1',
           description="API for create, update and list spots")
class SpotAPI(remote.Service):

    @endpoints.method(Spot,Spot,
                  name='spot.insert',
                  path='spot',
                  http_method='POST')
    def insertSpot(self, request):
        newSpot = SpotModel(description = request.description,latitude =  request.lat,longitude =  request.lng)
        newSpot.put()
        return  pareSpotToMessage(newSpot)



app = endpoints.api_server([SpotAPI])
应该是

http_headers:
    Access-Control-Allow-Origin: *

您应该检查一下,这正是您的API所需要的,并且会将代码减少一半:您遇到了什么样的问题?CORS已完全为Google云端点启用?