LeanCloud-Python-SDK API 文档
leancloud
- leancloud.init(app_id, app_key=None, master_key=None, hook_key=None)[源代码]
初始化 LeanCloud 的 AppId / AppKey / MasterKey
- 参数
app_id (string_types) – 应用的 Application ID
app_key (None or string_types) – 应用的 Application Key
master_key (None or string_types) – 应用的 Master Key
hook_key (None or string_type) – application’s hook key
- leancloud.use_master_key(flag=True)[源代码]
是否使用 master key 发送请求。 如果不调用此函数,会根据 leancloud.init 的参数来决定是否使用 master key。
Object
- class leancloud.Object(**attrs)[源代码]
基类:
object
- add_unique(attr, item)[源代码]
在对象此字段对应的数组末尾添加指定对象,如果此对象并没有包含在字段中。
- 参数
attr – 字段名
item – 要添加的对象
- 返回
当前对象
- classmethod create(class_name, **attributes)[源代码]
根据参数创建一个 leancloud.Object 的子类的实例化对象
- 参数
class_name (string_types) – 子类名称
attributes – 对象属性
- 返回
派生子类的实例
- 返回类型
- classmethod create_without_data(id_)[源代码]
根据 objectId 创建一个 leancloud.Object,代表一个服务器上已经存在的对象。可以调用 fetch 方法来获取服务器上的数据
- 参数
id (string_types) – 对象的 objectId
- 返回
没有数据的对象
- 返回类型
- classmethod destroy_all(objs)[源代码]
在一个请求中 destroy 多个 leancloud.Object 对象实例。
- 参数
objs (list) – 需要 destroy 的对象
- classmethod extend(name)[源代码]
派生一个新的 leancloud.Object 子类
- 参数
name (string_types) – 子类名称
- 返回
派生的子类
- 返回类型
ObjectMeta
- is_new()[源代码]
判断当前对象是否已经保存至服务器。
该方法为 SDK 内部使用(save 调用此方法 dispatch 保存操作为 REST API 的 POST 和 PUT 请求)。 查询对象是否在服务器上存在请使用 is_existed 方法。
- 返回类型
bool
User
- class leancloud.User(**attrs)[源代码]
基类:
Object
- add(attr, item)
在对象此字段对应的数组末尾添加指定对象。
- 参数
attr – 字段名
item – 要添加的对象
- 返回
当前对象
- add_unique(attr, item)
在对象此字段对应的数组末尾添加指定对象,如果此对象并没有包含在字段中。
- 参数
attr – 字段名
item – 要添加的对象
- 返回
当前对象
- static as_class(arg)
- classmethod become(session_token)[源代码]
通过 session token 获取用户对象
- 参数
session_token – 用户的 session token
- 返回
leancloud.User
- bit_and(attr, value)
- bit_or(attr, value)
- bit_xor(attr, value)
- clear()
将当前对象所有字段全部移除。
- 返回
当前对象
- classmethod create(class_name, **attributes)
根据参数创建一个 leancloud.Object 的子类的实例化对象
- 参数
class_name (string_types) – 子类名称
attributes – 对象属性
- 返回
派生子类的实例
- 返回类型
- classmethod create_without_data(id_)
根据 objectId 创建一个 leancloud.Object,代表一个服务器上已经存在的对象。可以调用 fetch 方法来获取服务器上的数据
- 参数
id (string_types) – 对象的 objectId
- 返回
没有数据的对象
- 返回类型
- destroy()
从服务器上删除这个对象
- 返回类型
None
- classmethod destroy_all(objs)
在一个请求中 destroy 多个 leancloud.Object 对象实例。
- 参数
objs (list) – 需要 destroy 的对象
- disable_after_hook()
- disable_before_hook()
- dump()
- classmethod extend(name)
派生一个新的 leancloud.Object 子类
- 参数
name (string_types) – 子类名称
- 返回
派生的子类
- 返回类型
ObjectMeta
- fetch(select=None, include=None)
从服务器获取当前对象所有的值,如果与本地值不同,将会覆盖本地的值。
- 返回
当前对象
- get(attr, default=None, deafult=None)
获取对象字段的值
- 参数
attr (string_types) – 字段名
- 返回
字段值
- get_acl()
返回当前对象的 ACL。
- 返回
当前对象的 ACL
- 返回类型
- has(attr)
判断此字段是否有值
- 参数
attr – 字段名
- 返回
当有值时返回 True, 否则返回 False
- 返回类型
bool
- ignore_hook(hook_name)
- increment(attr, amount=1)
在对象此字段上自增对应的数值,如果数值没有指定,默认为一。
- 参数
attr – 字段名
amount – 自增量
- 返回
当前对象
- is_authenticated()[源代码]
判断当前用户对象是否已登录。 会先检查此用户对象上是否有 session_token,如果有的话,会继续请求服务器验证 session_token 是否合法。
- property is_current
- is_dirty(attr=None)
- is_existed()
判断当前对象是否在服务器上已经存在。
- 返回类型
bool
- is_new()
判断当前对象是否已经保存至服务器。
该方法为 SDK 内部使用(save 调用此方法 dispatch 保存操作为 REST API 的 POST 和 PUT 请求)。 查询对象是否在服务器上存在请使用 is_existed 方法。
- 返回类型
bool
- login(username=None, password=None, email=None)[源代码]
登录用户。成功登录后,服务器会返回用户的 sessionToken 。
- 参数
username – 用户名
email – 邮箱地址(username 和 email 这两个参数必须传入一个且仅能传入一个)
password – 用户密码
- classmethod login_with(platform, third_party_auth_data)[源代码]
把第三方平台号绑定到 User 上
:param platform: 第三方平台名称 base string
- relation(attr)
返回对象上相应字段的 Relation
- 参数
attr (string_types) – 字段名
- 返回
Relation
- 返回类型
- remove(attr, item)
在对象此字段对应的数组中,将指定对象全部移除。
- 参数
attr – 字段名
item – 要移除的对象
- 返回
当前对象
- classmethod save_all(objs)
在一个请求中 save 多个 leancloud.Object 对象实例。
- 参数
objs (list) – 需要 save 的对象
- property session_token
- set(key_or_attrs, value=None, unset=False)
在当前对象此字段上赋值
- 参数
key_or_attrs (string_types or dict) – 字段名,或者一个包含 字段名 / 值的 dict
value – 字段值
unset –
- 返回
当前对象,供链式调用
- set_acl(acl)
为当前对象设置 ACL
- 返回
当前对象
- sign_up(username=None, password=None)[源代码]
创建一个新用户。新创建的 User 对象,应该使用此方法来将数据保存至服务器,而不是使用 save 方法。 用户对象上必须包含 username 和 password 两个字段
- classmethod signup_or_login_with_mobile_phone(phone_number, sms_code)[源代码]
param phone_nubmer: string_types param sms_code: string_types
在调用此方法前请先使用 request_sms_code 请求 sms code
- unset(attr)
在对象上移除此字段。
- 参数
attr – 字段名
- 返回
当前对象
- validate(attrs)
File
Query
- class leancloud.Query(query_class)[源代码]
基类:
object
- contained_in(key, values)[源代码]
增加查询条件,限制查询结果指定字段的值在查询值列表中
- 参数
key – 查询条件字段名
values (list or tuple) – 查询条件值
- 返回类型
- contains(key, value)[源代码]
增加查询条件,限制查询结果对象指定最短的值,包含指定字符串。在数据量比较大的情况下会比较慢。
- 参数
key – 查询条件字段名
value – 需要包含的字符串
- 返回类型
- contains_all(key, values)[源代码]
增加查询条件,限制查询结果指定字段的值全部包含与查询值列表中
- 参数
key – 查询条件字段名
values (list or tuple) – 查询条件值
- 返回类型
- classmethod do_cloud_query(cql, *pvalues)[源代码]
使用 CQL 来构造查询。CQL 语法参考 这里。
- 参数
cql – CQL 语句
pvalues – 查询参数
- 返回类型
CQLResult
- does_not_match_key_in_query(key, query_key, query)[源代码]
增加查询条件,限制查询结果对象指定字段的值,与另外一个查询对象的返回结果指定的值不相同。
- endswith(key, value)[源代码]
增加查询条件,限制查询结果对象指定最短的值,以指定字符串结尾。在数据量比较大的情况下会比较慢。
- 参数
key – 查询条件字段名
value – 需要查询的字符串
- 返回类型
- greater_than_or_equal_to(key, value)[源代码]
增加查询条件,限制查询结果指定字段的值大于等于查询值
- 参数
key – 查询条件字段名
value – 查询条件值名
- 返回类型
- include_acl(value=True)[源代码]
设置查询结果的对象,是否包含 ACL 字段。需要在控制台选项中开启对应选项才能生效。
- 参数
value (bool) – 是否包含 ACL,默认为 True
- 返回类型
- less_than_or_equal_to(key, value)[源代码]
增加查询条件,限制查询结果指定字段的值小于等于查询值
- 参数
key – 查询条件字段名
value – 查询条件值
- 返回类型
- matched(key, regex, ignore_case=False, multi_line=False)[源代码]
增加查询条件,限制查询结果对象指定字段满足指定的正则表达式。
- 参数
key – 查询条件字段名
regex – 查询正则表达式
ignore_case – 查询是否忽略大小写,默认不忽略
multi_line – 查询是否匹配多行,默认不匹配
- 返回类型
- not_contained_in(key, values)[源代码]
增加查询条件,限制查询结果指定字段的值不在查询值列表中
- 参数
key – 查询条件字段名
values (list or tuple) – 查询条件值
- 返回类型
- startswith(key, value)[源代码]
增加查询条件,限制查询结果对象指定最短的值,以指定字符串开头。在数据量比较大的情况下会比较慢。
- 参数
key – 查询条件字段名
value – 需要查询的字符串
- 返回类型
- within_geo_box(key, southwest, northeast)[源代码]
增加查询条件,限制返回结果指定字段值的位置在指定坐标范围之内。
- 参数
key – 查询条件字段名
southwest – 限制范围西南角坐标
northeast – 限制范围东北角坐标
- 返回类型
- within_kilometers(key, point, max_distance, min_distance=None)[源代码]
增加查询条件,限制返回结果指定字段值的位置在某点的一段距离之内。
- 参数
key – 查询条件字段名
point – 查询地理位置
max_distance – 最大距离限定(千米)
min_distance – 最小距离限定(千米)
- 返回类型
Relation
Role
- class leancloud.Role(name=None, acl=None)[源代码]
基类:
Object
- add(attr, item)
在对象此字段对应的数组末尾添加指定对象。
- 参数
attr – 字段名
item – 要添加的对象
- 返回
当前对象
- add_unique(attr, item)
在对象此字段对应的数组末尾添加指定对象,如果此对象并没有包含在字段中。
- 参数
attr – 字段名
item – 要添加的对象
- 返回
当前对象
- static as_class(arg)
- bit_and(attr, value)
- bit_or(attr, value)
- bit_xor(attr, value)
- clear()
将当前对象所有字段全部移除。
- 返回
当前对象
- classmethod create(class_name, **attributes)
根据参数创建一个 leancloud.Object 的子类的实例化对象
- 参数
class_name (string_types) – 子类名称
attributes – 对象属性
- 返回
派生子类的实例
- 返回类型
- classmethod create_without_data(id_)
根据 objectId 创建一个 leancloud.Object,代表一个服务器上已经存在的对象。可以调用 fetch 方法来获取服务器上的数据
- 参数
id (string_types) – 对象的 objectId
- 返回
没有数据的对象
- 返回类型
- destroy()
从服务器上删除这个对象
- 返回类型
None
- classmethod destroy_all(objs)
在一个请求中 destroy 多个 leancloud.Object 对象实例。
- 参数
objs (list) – 需要 destroy 的对象
- disable_after_hook()
- disable_before_hook()
- dump()
- classmethod extend(name)
派生一个新的 leancloud.Object 子类
- 参数
name (string_types) – 子类名称
- 返回
派生的子类
- 返回类型
ObjectMeta
- fetch(select=None, include=None)
从服务器获取当前对象所有的值,如果与本地值不同,将会覆盖本地的值。
- 返回
当前对象
- get(attr, default=None, deafult=None)
获取对象字段的值
- 参数
attr (string_types) – 字段名
- 返回
字段值
- get_acl()
返回当前对象的 ACL。
- 返回
当前对象的 ACL
- 返回类型
- has(attr)
判断此字段是否有值
- 参数
attr – 字段名
- 返回
当有值时返回 True, 否则返回 False
- 返回类型
bool
- ignore_hook(hook_name)
- increment(attr, amount=1)
在对象此字段上自增对应的数值,如果数值没有指定,默认为一。
- 参数
attr – 字段名
amount – 自增量
- 返回
当前对象
- is_dirty(attr=None)
- is_existed()
判断当前对象是否在服务器上已经存在。
- 返回类型
bool
- is_new()
判断当前对象是否已经保存至服务器。
该方法为 SDK 内部使用(save 调用此方法 dispatch 保存操作为 REST API 的 POST 和 PUT 请求)。 查询对象是否在服务器上存在请使用 is_existed 方法。
- 返回类型
bool
- property name
- relation(attr)
返回对象上相应字段的 Relation
- 参数
attr (string_types) – 字段名
- 返回
Relation
- 返回类型
- remove(attr, item)
在对象此字段对应的数组中,将指定对象全部移除。
- 参数
attr – 字段名
item – 要移除的对象
- 返回
当前对象
- property roles
- save(where=None, fetch_when_save=None)
将对象数据保存至服务器
- 返回
None
- 返回类型
None
- classmethod save_all(objs)
在一个请求中 save 多个 leancloud.Object 对象实例。
- 参数
objs (list) – 需要 save 的对象
- set(key_or_attrs, value=None, unset=False)
在当前对象此字段上赋值
- 参数
key_or_attrs (string_types or dict) – 字段名,或者一个包含 字段名 / 值的 dict
value – 字段值
unset –
- 返回
当前对象,供链式调用
- set_acl(acl)
为当前对象设置 ACL
- 返回
当前对象
- unset(attr)
在对象上移除此字段。
- 参数
attr – 字段名
- 返回
当前对象
- property users
ACL
GeoPoint
- class leancloud.GeoPoint(latitude=0, longitude=0)[源代码]
基类:
object
- kilometers_to(other)[源代码]
Returns the distance from this GeoPoint to another in kilometers.
- 参数
other (GeoPoint) – point the other GeoPoint
- 返回类型
float
- property latitude
当前对象的纬度
- property longitude
当前对象的经度
Engine
HttpsRedirectMiddleware
leancloud.push
- leancloud.push.send(data, channels=None, push_time=None, expiration_time=None, expiration_interval=None, where=None, cql=None, flow_control=None, prod=None)[源代码]
发送推送消息。返回结果为此条推送对应的 _Notification 表中的对象,但是如果需要使用其中的数据,需要调用 fetch() 方法将数据同步至本地。
- 参数
channels (list or tuple) – 需要推送的频道
push_time (datetime) – 推送的时间
expiration_time (datetime) – 消息过期的绝对日期时间
expiration_interval (int) – 消息过期的相对时间,从调用 API 的时间开始算起,单位是秒
where (leancloud.Query) – 一个查询 _Installation 表的查询条件 leancloud.Query 对象
cql (string_types) – 一个查询 _Installation 表的查询条件 CQL 语句
data – 推送给设备的具体信息,详情查看 https://leancloud.cn/docs/push_guide.html#消息内容_Data
flow_control – 不为 None 时开启平滑推送,值为每秒推送的目标终端用户数。开启时指定低于 1000 的值,按 1000 计。
prod – 仅对 iOS 推送有效,设置将推送发至 APNs 的开发环境(dev)还是生产环境(prod)。
- 返回类型
- Type
flow_control: int
- Type
prod: string
leancloud.cloud
- leancloud.cloud.request_captcha(size=None, width=None, height=None, ttl=None)[源代码]
请求生成新的图形验证码 :return: Captcha
- leancloud.cloud.request_sms_code(phone_number, idd='+86', sms_type='sms', validate_token=None, template=None, sign=None, params=None)[源代码]
请求发送手机验证码 :param phone_number: 需要验证的手机号码 :param idd: 号码的所在地国家代码,默认为中国(+86) :param sms_type: 验证码发送方式,’voice’ 为语音,’sms’ 为短信 :param template: 模版名称 :param sign: 短信签名名称 :return: None
- leancloud.cloud.rpc(_cloud_rpc_name, **params)[源代码]
调用 LeanEngine 上的远程代码 与 cloud.run 类似,但是允许传入 leancloud.Object 作为参数,也允许传入 leancloud.Object 作为结果 :param name: 需要调用的远程 Cloud Code 的名称 :type name: basestring :param params: 调用参数 :return: 调用结果
- leancloud.cloud.run(_cloud_func_name, **params)[源代码]
调用 LeanEngine 上的远程代码 :param name: 需要调用的远程 Cloud Code 的名称 :type name: string_types :param params: 调用参数 :return: 调用结果