我创建了一张带有自定义菜单项的时间线卡片。我想在用户选择该菜单项时收到回调。
// Create a menu item for the card
var mnuActivate = new MenuItem() {
Action = "CUSTOM",
RemoveWhenSelected = new bool?(true),
Id = ACCEPT_ID,
Values = new List<MenuValue>() {
new MenuValue() {
State="DEFAULT",
DisplayName="Activate",
},
new MenuValue() {
State="PENDING",
DisplayName="Activating..."
},
new MenuValue() {
State="CONFIRMED",
DisplayName="Activated"
}
}
}
// Create a new card for the user's timeline
var item = new TimelineItem() {
Html = html,
Notification = new NotificationConfig() { Level = "DEFAULT" },
MenuItems = new List<MenuItem>() { mnuActivate }
};
var card = this._service.Timeline.Insert(item).Fetch();
然后我订阅所有时间轴事件并提供https回调网址
// Create a new subscription
var subscription = new Subscription()
{
Collection = "timeline",
Operation = new List(),
CallbackUrl = "https://mypubliclyavailableserver.com/notify"
};
this._service.Subscriptions.Insert(subscription).Fetch();
// Retrieve a list of subscriptions to make sure it is there.
var mySubcriptions = this._service.Subscriptions.List().Fetch();
if (mySubcriptions != null && mySubcriptions.Items != null && mySubcriptions.Items.Count == 1)
{
Console.WriteLine("Subscription created successfully.");
}
因此,据我所知,订阅的创建没有任何问题。但在与卡片交互后,我从未收到过回调。我错过了什么?
我尝试过的事情:
来自GET / mirror / v1 / subscriptions的JSON响应:
{
"kind": "mirror#subscriptionsList",
"items": [
{
"kind": "mirror#subscription",
"id": "timeline",
"updated": "2013-10-28T15:19:19.404Z",
"collection": "timeline",
"callbackUrl": "https://mypubliclyavailableserver.com/notify"
}
]
}
答案 0 :(得分:0)
我不是这方面的专家。 但是搜索相同的主题,我找到了https://developers.google.com/glass/subscription-proxy, 根据这个,你不需要有前锋网址吗?我认为回调网址格式在你的例子中是不正确的?
答案 1 :(得分:0)
你是否尝试过没有“操作”的一起。
var subscription = new Subscription() { Collection =“timeline”, CallbackUrl =“https://mypubliclyavailableserver.com/notify” }
这是一个可选的https://developers.google.com/glass/v1/reference/subscriptions/insert
答案 2 :(得分:0)
事实证明我的回调网址https://mypubliclyavailableserver.com/notify
当我试图从hackst.com点击我的网络服务时,它有效。我猜他们忽略了谷歌所看到的“无法建立SSL / TLS安全通道的信任关系”错误。
没有Google可以发送错误的位置,所以我从来不知道它是否在呼唤我。也许如果在订阅过程中,如果回调URL的证书看起来没有效果,可能会返回错误?