onesignal api的python包装器

onesignal-sdk的Python项目详细描述


用于OneSignalapi的python客户端库。

安装

pip install onesignal_sdk

用法

importonesignalasonesignal_sdk

创建客户机

您可以创建一个onesignal客户端,如下所示。你可以找到你的 onesignal上的user_auth_密钥和rest api密钥(app_auth_密钥) Account & API Keys页。

onesignal_client=onesignal_sdk.Client(user_auth_key="XXXXX",app_auth_key="XXXX",app_id="APPID")

您始终可以创建一个没有凭据的客户端,并在以后进行设置:

onesignal_client=onesignal_sdk.Client()onesignal_client.user_auth_key="XXXXX"onesignal_client.app_auth_key="XXXXX"onesignal_client.app_id="APPID"

创建通知

new_notification=onesignal_sdk.Notification(post_body={"contents":{"en":"Message","tr":"Mesaj"}})

如果以后要更改内容:

new_notification=onesignal_sdk.Notification(post_body={"contents":{"en":"Message","tr":"Mesaj"}})......new_notification.post_body["content"]={"en":"New message"}

您可以设置过滤器、数据、按钮和上的所有可用字段 OneSignal Documentation 通过更新通知的post_body

new_notification.post_body["data"]={"foo":123,"bar":"foo"}new_notification.post_body["headings"]={"en":"English Title"}new_notification.post_body["included_segments"]=["Active Users","Inactive Users"]new_notification.post_body["filters"]=[{"field":"tag","key":"level","relation":"=","value":"10"},{"operator":"OR"},{"field":"tag","key":"level","relation":"=","value":"20"}]

发送推送通知

向段发送通知:

# create a onesignal clientonesignal_client=onesignal_sdk.Client(app_auth_key="XXXX",app_id="APPID")# create a notificationnew_notification=onesignal_sdk.Notification(post_body={"contents":{"en":"Message","tr":"Mesaj"},"included_segments":["Active Users"],"filters":[{"field":"tag","key":"level","relation":"=","value":"10"}]})# send notification, it will return a responseonesignal_response=onesignal_client.send_notification(new_notification)print(onesignal_response.status_code)print(onesignal_response.json())

向特定设备发送通知:

onesignal_client=onesignal_sdk.Client(app_auth_key="XXXX",app_id="APPID")new_notification=onesignal_sdk.Notification(post_body={"contents":{"en":"Message"},"include_player_ids":["id1","id2"],})# send notification, it will return a responseonesignal_response=onesignal_client.send_notification(new_notification)print(onesignal_response.status_code)print(onesignal_response.json())

取消通知

onesignal_client=onesignal_sdk.Client(user_auth_key="XXXXX",app_auth_key="XXXX",app_id="APPID")onesignal_response=onesignal_client.cancel_notification("notification_id")print(onesignal_response.status_code)print(onesignal_response.json())

查看推送通知

onesignal_response=onesignal_client.view_notifications(query={"limit":30,"offset":0})ifonesignal_response.status_code==200:print(onesignal_response.json())

查看推送通知

onesignal_response=onesignal_client.view_notification("notification_id")ifonesignal_response.status_code==200:print(onesignal_response.json())

查看应用程序

onesignal_response=onesignal_client.view_apps()

您还可以查看单个应用程序:

onesignal_response=onesignal_client.view_app("app_id")

创建应用程序

onesignal_client=onesignal_sdk.Client(user_auth_key="XXXXX",app_auth_key="XXXX",app_id="APPID")app_body={"name":"Test App","apns_env":"production"}onesignal_response=onesignal_client.create_app(app_body)ifonesignal_response.status_code==200:print(onesignal_response.json())

更新应用程序

onesignal_client=onesignal_sdk.Client(user_auth_key="XXXXX",app_auth_key="XXXX",app_id="APPID")app_body={"name":"New App","gcm_key":"XX-XXX-XXXXX"}onesignal_response=onesignal_client.update_app(app_id="XXXX",app_body=app_body)ifonesignal_response.status_code==200:print(onesignal_response.json())

查看设备

onesignal_response=onesignal_client.view_devices(query={"limit":20})ifonesignal_response.status_code==200:print(onesignal_response.json())

您还可以查看设备:

onesignal_response=onesignal_client.view_device("device_id")

添加设备

onesignal_client=onesignal_sdk.Client(user_auth_key="XXXXX",app_auth_key="XXXX",app_id="APPID")device_body={"device_type":1,"language":"tr"}onesignal_response=onesignal_client.create_device(device_body=device_body)

编辑设备

onesignal_client=onesignal_sdk.Client(user_auth_key="XXXXX",app_auth_key="XXXX",app_id="APPID")device_body={"device_type":1,"language":"en"}onesignal_response=onesignal_client.update_device(device_id="device_id",device_body=device_body)

CSV导出

onesignal_response=onesignal_client.csv_export(post_body={"extra_fields":["location"]})ifonesignal_response.status_code==200:print(onesignal_response.json())

开放轨道

onesignal_response=onesignal_client.track_open("notification_id",track_body={"opened":True})

许可证

这个项目是在麻省理工学院的许可下进行的。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
javascript问题:通过URL用网站数据填充Textview   java TabLayout Android,如何用几个标签填充整个屏幕宽度,并用大量标签滚动?   Eclipse Java运行的文件不再存在于我的工作区中   安装两个Java版本时,使用Java的windows链接不起作用   java将多个图形添加到单个JPanel   java Kafka ConsumerFactory,带有两个Desiarizer   使用反射更改java类超类   当一致性测试失败时,java有没有办法让堆栈跟踪显示在控制台中   java映射到基元类型的HashMap的快速替代方案是什么?   java关闭一个jframe所有剩余的打开jframe都将关闭。   java为什么不推荐“使用getString()获取设备标识符”?   java值比较和值赋值之间有什么性能差异吗?   Java实体数组到JavaScript数组   java使用流将一个列表转换为另一个列表   在JTree中保存对象,但更改显示的名称(java swing)?   java“Hello world”Android应用程序,文件尽可能少,没有IDE,只有文本编辑器   java在方法之间传递值   java如何为项目数组创建ParseQuery?