- 9
- 0
- 约4.91千字
- 约 7页
- 2019-07-14 发布于江苏
- 举报
谷歌眼镜MirrorAPI开发指南之Subscriptions
来源:/thread-883-1-2.html
订阅
MirrrorAPI 允许当用户需要具体的TimelineItem和当用户的位置发送改变时发送订阅通知
(subscribeto notifications), 当你订阅通知,你需要提供一个回调URL来处理通知。
接收通知
来自MirrorAPI的通知会发送一个POST请求给订阅的段节点,这里面包含一段JSON数据。
RawHTTP
collection:timeline,
itemId:3hidvm0xez6r8_dacdb3103b8b604_h8rpllg,
operation:UPDATE,
userToken:harold_penguin,
verifyToken:random_hash_to_verify_referer,
userActions: [
type:TYPE,
payload:PAYLOAD
}
]
}
JAVA:
importcom.google.api.client.json.JsonFactory;
importcom.google.api.client.json.jackson.JacksonFactory;
importcom.google.api.services.mirror.model.Notification;
importjava.io.IOException;
importjava.io.InputStream;
// ...
publicclass MyClass
// ...
/**
* Parsea requestbodyintoa Notificationobject.
*
*@paramrequestBodyThe notificationpayloadsent bythe MirrorAPI.
*@returnParsednotificationpayloadifsuccessful,{@code null}otherwise.
*/
static NotificationparseNotification(InputStreamrequestBody)
try
JsonFactoryjsonFactory =newJacksonFactory();
returnjsonFactory.fromInputStream(requetBody, Notification.class);
}catch (IOExceptione)
System.out.println(Anerroroccurred: +e);
returnnull;
}
}
// ...
}
Python:
importjson
def parse_notification(request_body):
Parsea requestbodyintoa notificationdict.
Params:
request_body:The notificationpayloadsent bythe MirrorAPI asastring.
Returns:
Dictrepresentingthe notificationpayload.
returnjson.load(request_body)
你的服务如果没有错误发生必须对HTTP状态码等于200时做出响应 。如果你的服务响应
一个错误代码,MirrorAPI可能会重发通知给你的服务。
注意: 10秒无响应连接将超时。如果你的请求时间过长,你需要新开一个线程。
通知类型
MirrorAPI为不同事件会发送不同的通知载体。
共享timeline item
用户通过你的Glassware来共享Timeline item。
collection:timeline,
itemId:3hidvm0xez6r8_dacdb3103b8b604_h8rpllg,
operation:INSERT,
userToken:harold_penguin,
verifyToken:random_hash_to_verify_referer,
userActions: [
type:SHARE
}
原创力文档

文档评论(0)