我创建了一个Google Mirror API订阅,当选择自定义菜单项时,该订阅会将文件ping到服务器(将所有输入记录到文本文件中)。问题是,服务器上的文件没有被ping,日志文件也没有更新。
该应用程序是用PHP编写的,可以在下面访问: http://www.gpop-server.com/glass-notifications/
我在下面列出了我的订阅对象和菜单对象供参考:
Google_SubscriptionsListResponse Object
(
[__itemsType:protected] => Google_Subscription
[__itemsDataType:protected] => array
[items] => Array
(
[0] => Google_Subscription Object
(
[callbackUrl] => https://gpop-server.com/glass-notifications/post.php
[collection] => timeline
[id] => timeline
[kind] => mirror#subscription
[__notificationType:protected] => Google_Notification
[__notificationDataType:protected] =>
[notification] =>
[operation] => Array
(
[0] => UPDATE
[1] => INSERT
)
[updated] => 2014-04-27T16:29:28.309Z
[userToken] => 113161576523948071568
[verifyToken] => 535d306816bdb
)
)
[kind] => mirror#subscriptionsList
)
Google_MenuItem Object
(
[action] => CUSTOM
[id] => notify
[payload] => custom
[removeWhenSelected] =>
[__valuesType:protected] => Google_MenuValue
[__valuesDataType:protected] => array
[values] => Array
(
[0] => Google_MenuValue Object
(
[displayName] => Notify Server
[iconUrl] =>
[state] =>
)
)
)
几周前我已经有类似的工作了,所以我希望它不是玻璃固件更新无意中引起的。非常感谢任何帮助!
答案 0 :(得分:0)
这些看起来不错,虽然我建议检查一些事情:
订阅结果看起来不错,但您没有说明如何获得。这是通过添加它还是通过执行subscriptions.list
命令返回的订阅?您可能希望执行后者以确保它仍然在Glass服务器中注册。
尝试对相关网址进行一些手动调用,确保您使用的是POST操作(而不是GET,这是浏览器可能会测试的)。像curl --data "" https://gpop-server.com/glass-notifications/post.php
之类的东西应该这样做。
看起来您的服务器有一个有效的非自签名SSL证书,因此该部分似乎没问题。
MenuValue对象似乎没有设置状态,而我预计会出现'DEFAULT'状态。我不明白这是怎么回事,但它确实是一个问题。