aliyunpush.py 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #-*-coding:utf-8 -*-
  2. from aliyunsdkcore.client import AcsClient
  3. from aliyunsdkcore.acs_exception.exceptions import ClientException
  4. from aliyunsdkcore.acs_exception.exceptions import ServerException
  5. from aliyunsdkpush.request.v20160801.PushRequest import PushRequest
  6. from aliyunsdkpush.request.v20160801.PushNoticeToAndroidRequest import PushNoticeToAndroidRequest
  7. class AliyunPush(object):
  8. def __init__(self):
  9. self.ACCESSKEYID = "LTAI5t8bioQxGXB1jtVugJcU"
  10. self.ACCESSKEYSECRET = "OdGWSBRjkJxaPjgmE38eQ8nzkI6nRk"
  11. self.REGIONID = "cn-shenzhen"
  12. self.client = AcsClient(self.ACCESSKEYID,self.ACCESSKEYSECRET,self.REGIONID)
  13. def push_notice_by_userid(self,user_id,title,body,params,platform):
  14. if platform == "ios":
  15. self.request = PushRequest()
  16. self.request.set_AppKey("333793060")
  17. self.request.set_iOSApnsEnv('DEV')
  18. self.request.set_iOSExtParameters(params)
  19. self.request.set_PushType("NOTICE")
  20. self.request.set_DeviceType("ALL")
  21. else:
  22. self.request = PushNoticeToAndroidRequest()
  23. self.request.set_AppKey("333793063")
  24. self.request.set_ExtParameters(params)
  25. if user_id == "ALL":
  26. self.request.set_Target("ALL")
  27. self.request.set_TargetValue("ALL")
  28. else:
  29. self.request.set_Target("ACCOUNT")
  30. self.request.set_TargetValue(str(user_id))
  31. self.request.set_accept_format("json")
  32. self.request.set_Body(body)
  33. self.request.set_Title(title)
  34. response = self.client.do_action_with_exception(self.request)
  35. return response
  36. aliyunpush = AliyunPush()
  37. if __name__ == "__main__":
  38. user_id = 15103
  39. user_id = 6209
  40. title = "测试"
  41. body = "测试"
  42. params = {"type":"message","id":user_id}
  43. res = aliyunpush.push_notice_by_userid(user_id,title,body,params,"ios")
  44. print(params,res)