【问题标题】:How to test Mirror API Subscriptions如何测试镜像 API 订阅
【发布时间】:2013-06-03 23:08:57
【问题描述】:

https callbackUrl 的限制和整个订阅的性质使得这似乎只能通过可公开访问的 url 来完成。

到目前为止,我已经遇到了两个潜在的解决方案,可以让本地开发/调试更容易。

首先是google提供的Subscription Proxy服务。此解决方法实质上允许您删除 SSL 限制和对自定义 URL 的代理订阅回调。

我发现在本地进行开发的第二种也是最有用的方法是将订阅回调请求(例如来自可公开访问的服务器)捕获到日志中,然后使用 curl 在本地/开发机器上重现该请求使用类似的东西:

curl -H "Content-type: application/json" -X POST \
  -d '{"json for":"the notification"}' http://localhost:8080/notify

由于请求有时可能很大,或者您可能想要测试多种回调类型,我还发现将下标请求的 JSON 放入各种文件(例如:timeline-respond.json)然后运行

curl -H "Content-Type: application/json" \
  --data @timeline-respond.json http://localhost:8080/notify

我很好奇其他人在本地测试他们的应用订阅。

【问题讨论】:

  • 我一直在尝试类似的方法(1)在本地 IIS 服务器中运行的 wcf 服务,尝试使用提琴手发布通知,它工作正常,但由于防火墙设置,它不能从镜像服务工作,通知URL 不能从镜像服务公开访问,我正在尝试的下一个选项是(2)拥有一个应用引擎 Web 后端并使用 XMPP 来获取我的玻璃器皿应用程序(桌面应用程序)的通知,我想看看一些用于调试和开发目的的简单解决方法。
  • 抱歉这个新手问题,但是 curl 到底是什么?

标签: google-mirror-api google-glass


【解决方案1】:

你提到的命令行 curl 技术是我迄今为止发现的最好的。

我已经尝试过其他解决方案,例如 App Engine 订阅目标与本地脚本配对,该脚本将 App Engine 服务用于新通知中继到localhost,但到目前为止我还没有找到值得的增加的复杂性。

或者,有许多可用的本地主机代理。我最喜欢的是ngrok.com

【讨论】:

  • 我在 localhost 中的 servlet 适用于特定的 url 模式:localhost:8080/plugins/servlet/glass.notify 如何设置 ngrok 以转发到 localhost 上的此路径?
  • 当你启动 ngrok 你指定一个本地端口作为目标。对你来说,这将是 8080。 $ ngrok 8080 一旦 ngrok 启动,它会告诉你要使用的域,例如 g6hadf.ngrok.com。将您的流量指向此处。路径信息将被保留,因此通知目标可能是g6hadf.ngrok.com/servlet/glass.notify
【解决方案2】:

您不妨试试localtunnel

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-13
    • 1970-01-01
    • 1970-01-01
    • 2021-09-22
    • 2012-10-12
    相关资源
    最近更新 更多