2013-03-29 3 views
1

Google 엔드 포인트 API를 기반으로 간단한 서비스를 구축하십시오. 모두 잘 작동하지만 문제는 API가 backbone.js를 통해 다른 호스트에서 호출된다는 것입니다. 그래서 나는 서버 측에서 "Access-Control-Allow-Origin : *"을 허용해야합니다.Google Endpoints API 맞춤 수신자

하지만 문서 나 다른 해결책을 찾지 못했습니다. 나는 같은 애플리케이션 제목이 설정하려고했습니다 :

http_headers: 
    Access-Control-Allow-Origin: http://.* 

하지만 static_dir과하지 스크립트에 대한이 유일한 작품 아나이 아이디어에

감사합니다 도움

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]) 
+1

당신은 ['endpoints-proto-datastore'] (https : //endpoints-proto-datastore.appspot.c)를 체크 아웃해야한다. 톰), 그것은 정확히 귀하의 API가 필요하고 반으로 귀하의 코드를 줄일 것입니다 :) – bossylobster

+0

어떤 종류의 문제가 있습니까? CORS는 Google Cloud Endpoints를 완벽하게 사용할 수 있습니까? – bossylobster

답변

0

그것은이어야한다

http_headers: 
    Access-Control-Allow-Origin: * 
관련 문제