구글 유리에서 가져 오기 "REPLY"통지 나 사용자에게 응답 할 '거울 빠른 시작 "구글 유리 거울 API 예제를 수정하는 것을 시도하고있다"REPLY "조치.callbackURL 엔드 포인트
나는 행동에 내장 된 REPLY로 예를 사용하여 실행 가능한 카드를 표시 할 수 있어요.
나는 사용자가 나는 음모와 사용자에게 다시 카드를 반환 할 수 있도록하려면 과학적인 악기를 해제 읽기로 응답 할 수 있어야합니다.
가 나는 그러나 단계 제로에 붙어있다. 사용자가 "회신"한 값을 얻는 방법.
다음은 타임 라인에 가입 나의 시도이다. 내 appengine 로그에 "SUBSCRIBED"메시지를받을 수 있습니다.
def _insert_a600_subscription(self):
"""Attempt to register to a600 updates"""
subscription = {
"collection" : 'timeline',
"userToken" : self.userid,
"callbackUrl":"https://myapp_on_appengine.appspot.com/logA600",
}
try:
self.mirror_service.subscriptions().insert(body=subscription).execute()
logging.info("SUBSCRIBED")
except errors.HttpError, error:
print 'An error occurred: %s' % e
생성하는 카드는 예제를 기반으로합니다.
def _insert_item_with_action(self):
"""Insert a timeline item user can reply to."""
logging.info('Inserting timeline item')
body = {
'creator': {
'displayName': 'Python Starter Project',
'id': 'PYTHON_STARTER_PROJECT'
},
'text': 'A600 at current time:',
'id':'a600val',
'notification': {'level': 'DEFAULT'},
'menuItems': [{'action': 'REPLY',
}],
}
# self.mirror_service is initialized in util.auth_required.
self.mirror_service.timeline().insert(body=body).execute()
return 'A timeline item with action has been inserted.'
I는 또한 callbackUrl의 endopoint 이하 「logA600 "에 대한"거짓 "핸들러를 만들었다.
class A600Handler(webapp2.RequestHandler):
@util.auth_required
def post(self):
"""Process the value of A600 received and return a plot"""
logging.info("Received POST to logA600")
@util.auth_required
def get(self):
"""Process the value of A600 received and return a plot"""
logging.info("Received GET to this logA600")
의 MAIN_ROUTES = ('/'MainHandler) ('/ logA600'A600Handler) ] I 타임 라인 카드로 올리
. 내 기록에는 예상 된 메시지 "받은 POST가 logA600"으로 처리기에 수신 된 것으로 표시되지 않습니다. 대신에 appengine 로그에서 다음을 얻습니다. 내 테스트 응용 프로그램에서
2013-07-15 19:52:43.913 /logA600 302 37ms 0kb GlassAPI XX.XXX.XX.XX - - [15/Jul/2013:16:52:43 -0700] "POST /logA600 HTTP/1.1" 302 136 - "GlassAPI" "myapp_on_appengine.appspot.com" ms=37 cpu_ms=0 cpm_usd=0.000032 app_engine_release=1.8.2 instance=0XXXXXXXXXXXXXXXXXXXXXXXXd I 2013-07-15 19:52:43.889 URL being requested: https://www.googleapis.com/discovery/v1/apis/mirror/v1/rest?userIp=xx.xx.xx.xxx
. 타임 라인 카드가 성공적으로 도착했는지 알 수 있습니다. 내 callbackUrl/logA600 처리기에 "REPLY"알림 "구독"을받는 데 도움을 요청하고 있습니다.
감사 제니, 일단 그 장식을 제거했습니다. 내 로그에 POST 알림이 표시됩니다. 또한 위의 코드 예제에서는 구독 프록시 서버를 사용하지 않았지만 appengine URL은 "https"URL이므로 필요하지 않다는 것을 알지 못했습니다. – harijay