7

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

到目前为止,我遇到了两种可能的解决方案,可以使本地开发/调试更容易。

首先是谷歌提供的订阅代理服务。此解决方法实质上允许您删除 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

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

4

2 回答 2

3

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

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

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

于 2013-06-03T23:17:42.953 回答
0

您可能想尝试一下localtunnel

于 2013-12-07T14:39:39.677 回答