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})
许可证
这个项目是在麻省理工学院的许可下进行的。