Misfit API客户端实现
项目描述
python-misfit
Misfit API Python客户端实现
需求
安装
一旦满足上述要求,请从终端运行以下命令进行安装
pip install misfit
快速入门
使用 pip install misfit 安装
创建一个应用程序,将“应用程序域”设置为http://127.0.0.1:8080/。现在使用以下命令中的“应用程序密钥”和“应用程序密钥”
misfit authorize --client_id=<app_key> --client_secret=<app_secret>
这将在名为“misfit.cfg”的文件中保存进行进一步API调用所需的凭据。应保持这些凭据的隐私性。您可以使用相同的命令行客户端访问资源API中的所有内容。您还可以使用Python API访问相同的资源
>>> from misfit import Misfit >>> misfit = Misfit(<client_id>, <client_secret>, <access_token>) >>> print(misfit.profile()) {u'gender': u'male', u'birthday': u'1981-07-18', u'userId': u'scrubbed', u'name': u'Brad Pitcher'}
慢速入门
在您安装并创建misfit应用程序之后,您可以使用自己的Web服务器而不是内置的CherryPy服务器来授权和使用API,如下所示
>>> from misfit.auth import MisfitAuth >>> auth = MisfitAuth(<client_id>, <client_secret>, redirect_uri=<redirect_uri>) >>> auth_url = auth.authorize_url()
现在将用户重定向到auth_url。当控制返回到您的Web服务器在<redirect_uri>中指定的端点时,您将收到可以传递给fetch_token方法的code和state GET参数,该方法将返回access_token,这是进行进一步API调用所需的
>>> access_token = auth.fetch_token(<code>, <state>) >>> from misfit import Misfit >>> misfit = Misfit(<client_id>, <client_secret>, <access_token>) >>> print(misfit.profile()) {u'gender': u'male', u'birthday': u'1981-07-18', u'userId': u'scrubbed', u'name': u'Brad Pitcher'}
通知
此库还包括一些基本工具,以简化通知处理。要使用Misfit的Notification API与您的Web应用程序集成,您需要做的第一件事是为您创建应用时指定的域名设置一个端点,以接受POST请求,例如,如果您的应用域名是 http://example.com,则端点可以是 http://example.com/misfit/notification/。
现在,当您处理请求时,只需创建一个带有请求体作为参数的 MisfitNotification 对象。 MisfitNotification 构造函数会自动验证SNS消息的签名,因此您可以放心,消息是合法的。如果签名无效,它将引发 cryptography.exceptions.InvalidSignature 异常。
MisfitNotification 类可以处理订阅确认消息和常规更新消息。您可以通过查看 Type 属性来检查消息类型,该属性将是 'SubscriptionConfirmation' 或 'Notification'。对于 Notification 消息,您将在 Message 属性中找到一个更新列表。在处理更新(最长不超过 15秒)之后,请确保以HTTP状态码200响应,否则SNS可能会再次尝试投递。完整的流程可能如下所示
>>> from misfit.notification import MisfitNotification >>> notification = MisfitNotification(content) >>> if notification.Type == 'Notification': >>> for message in notification.Message: >>> if message.type == 'goals': >>> # Handle goal update >>> # Handle other message types >>> # Give an empty response with a 200 status code
一旦您的端点启动并运行,请转到您的 应用,将端点作为订阅钩子URL添加,确保格式为json。点击“测试端点”,如果一切顺利,验证应无缝进行。如果不成功,请 提交一个问题,我们将尝试帮助您调试。现在,打开您想要接收的所有资源,然后点击“更新”。很快,您将开始收到Misfit通知!
misfit-0.3.2.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e12e12c3c39fbdf3c6fd407a7d822dbfde845120e93461343c0282e92f5e9c49 |
|
MD5 | cca9955b60e4daba4734e1d4dff6bc8d |
|
BLAKE2b-256 | a7ecf925fe5e4f332ad5543a3ab69cfc64353f39675b23cafe918554fe365818 |