我希望通过app引擎接收XMPP消息,然后使用查找表查找相应的玻璃用户ID和推送时间线卡。我看到该服务是在OAuth中创建的。我是否每次都需要创建新服务?或者我可以使用userid获得服务?服务有没有参考?
这是我正在使用的代码。目前我每次收到消息时都会创建一个新的镜像服务。这会造成任何麻烦或有更好的方法吗?是否有对“util.create_service”的引用?
class XmppHandler(xmpp_handlers.CommandHandler):
def push_command(self, message=None):
if message.arg:
id=XMPP_addr_access.get_id_from_addr(bare_jid(message.sender))
if id is not None:
creds=StorageByKeyName(Credentials, id, 'credentials').get()
mirror_service = util.create_service('mirror', 'v1', creds)
body = {'notification': {'level': 'DEFAULT'}}
body['text'] = message.arg
mirror_service.timeline().insert(body=body).execute()
答案 0 :(得分:0)
在我的Glassware中,通知响应(我相信你称之为服务)运行与你拥有的相似的代码,每当我需要制作另一个Mirror时,我使用java帮助方法AuthUtil.getCredential(String userId)
生成一个新的Credential基于App Engine中的传入通知的API请求。
此凭据用于使用相同userId的MirrorClient
对象,并插入时间轴。
我通过查看通知提供的userToken引用的持久存储来获取userId。