gpt4 book ai didi

python - 在 callbackURL 端点从 Google Glass 获取 "REPLY"通知

转载 作者:太空狗 更新时间:2023-10-30 03:03:54 24 4
gpt4 key购买 nike

我正在尝试修改“mirror-quick-start”Google Glass Mirror API 示例以响应用户的“REPLY”操作。

我能够使用带有内置操作 REPLY 的示例显示可操作的卡片。

我希望用户能够通过科学仪器的读数来回复,我希望能够绘制它并将卡片返回给用户。

然而,我卡在了第 0 步。如何获取用户“回复”的值。

这是我订阅时间线的尝试。我可以在我的应用引擎日志中收到“已订阅”消息。

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.'

我还为 callbackUrl 端点“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")

主要路线 = [ ('/', MainHandler),('/logA600',A600Handler),]

当我回复时间轴卡片时。我的日志从不显示接收到我的处理程序的 POST 以及预期的消息“Received POST to logA600”..相反,我在我的应用引擎日志中得到以下信息。


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: <a href="https://www.googleapis.com/discovery/v1/apis/mirror/v1/rest?userIp=xx.xx.xx.xxx" rel="noreferrer noopener nofollow">https://www.googleapis.com/discovery/v1/apis/mirror/v1/rest?userIp=xx.xx.xx.xxx</a>

在我的测试应用中。我可以看到时间线卡已成功到达。我正在寻求有关将“回复”通知“订阅”到我的 callbackUrl/logA600 处理程序的帮助。

最佳答案

/logA600 中的 def post(self): 之前删除 @util.auth_required

发生这种情况的原因是因为 @util.auth_required 检查以验证当前用户是否已获得授权,如果未获得授权,则会将他们重定向到您的 OAuth 2.0 流程启动 URL。订阅通知不是授权请求。他们没有任何 cookie,就好像他们是匿名用户一样。看到这一点,@util.auth_required 正在将通知重定向到 auth 页面。

关于python - 在 callbackURL 端点从 Google Glass 获取 "REPLY"通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17666000/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com