阿里云移动推送,根据别名来查询设备 (python语言)

---------------------------------------------------------------------------------------------------------------------------------------------------------------

转载请声明:本文来自 https://blog.csdn.net/shijianduan1/article/details/82460928

---------------------------------------------------------------------------------------------------------------------------------------------------------------

介绍下背景,我这边 应用 使用 阿里云的移动推送, 然后出于某些业务目的,想要通过别名alias来获取到设备信息(devicdid和其他)

这事 和后台提了下,然后。。。 后台说这个签名机制太烦了,让我自己搞。它可以提供参数。

T_T 好吧,我就这么被打回了,自己的需求只能自己搞了。

这个是 java的sdk手册

https://help.aliyun.com/document_detail/48048.html?spm=a2c4g.11186623.6.607.17b554bekWajEv

这个是python的sdk手册

https://help.aliyun.com/document_detail/48050.html?spm=a2c4g.11186623.6.611.7d4076cbunax4s

想了下, 前段时间  看过python的 基础, 正好电脑上有 , 那么可以拿次来过把瘾 。

---------------------------------------------------------------------------------------------------------------------------------------------------------------

1. 根据操作提示正常操作, 下载 sdk, 

2.执行sdk的安装命令, 一切正常。

3.下载demo,修改配置。

4. 运行demo ,  发现报错了。 (好像是个定律,不知道为什么,每次新项目的时候,总是得报点错误才算是正常的 )

错误一 :

原因:  咨询了下技术支持群, 原来是 python项目是继续2.7的,而我的是3.5的。(阿里的技术支持群还是很给力的,群号看官方,这里就不提供了,)

解决方法: 安装2.7python版本

       关于电脑已有3.5的,需要继续装python2.7的 ,可以看这个教程

       https://blog.csdn.net/shijianduan1/article/details/82462854

---------------------------------------------------------------------------------------------------------------------------------------------------------------

5. 成功运行,

然而 这个时候 发现一个坑(事情远不止一个bug),demo中 没有 通过别名查找设备的方法。 只能自己 硬着头皮上了。

       错误二:

自己照着QueryAliases.py  写下了 QueryDevicesByAliasRequest.py,

然而还是报错了,moudle找不到QueryDevicesByAliasRequest.

 找了下,看网上说把 .pyc文件删除即可,然而并没有啥用, 只能另想办法。 

 解决: 其实老司机遇到的话 一眼就能看出来上面的错误, 也就我这样新手,还在不明所以。

         from aliyunsdkpush.request.v20160801 import QueryAliasesRequest ,  是这行引用错误了,还是引用的原来的QueryAliasesRequest.py , 实际上应该引用 QueryDevicesByAliasRequest.py

PS:这个阿里的项目看起来真方便。

---------------------------------------------------------------------------------------------------------------------------------------------------------------

6.总结 

    说了这么多,其实就是总结下。 
    1. 好多事情其实没有那么难;

     2.有些问题,仔细排查还是能解决的;

     3.好的框架,让人一眼就知道它要干什么,让你知道下一步怎么做。

---------------------------------------------------------------------------------------------------------------------------------------------------------------
最后 附上代码,QueryDevicesByAlias.py

#!/usr/bin/python
#coding=utf-8
import properties
from aliyunsdkpush.request.v20160801 import QueryDevicesByAliasRequest
from aliyunsdkcore import client

clt = client.AcsClient(properties.accessKeyId,properties.accessKeySecret,properties.regionId)

request = QueryDevicesByAliasRequest.QueryDevicesByAliasRequest()
request.set_AppKey(properties.appKey)
#设置要查询的别名
request.set_Alias(properties.alias);

result = clt.do_action(request)
print result

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值