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 返回: 没有数据的对象 返回类型: Object
-
classmethod
destroy_all
(objs)[源代码]¶ 在一个请求中 destroy 多个 leancloud.Object 对象实例。
参数: objs (list) – 需要 destroy 的对象
-
classmethod
extend
(name)[源代码]¶ 派生一个新的 leancloud.Object 子类
参数: name (string_types) – 子类名称 返回: 派生的子类 返回类型: ObjectMeta
-
get_acl
()[源代码]¶ 返回当前对象的 ACL。
返回: 当前对象的 ACL 返回类型: leancloud.ACL
-
is_new
()[源代码]¶ 判断当前对象是否已经保存至服务器。
该方法为 SDK 内部使用(save 调用此方法 dispatch 保存操作为 REST API 的 POST 和 PUT 请求)。 查询对象是否在服务器上存在请使用 is_existed 方法。
返回类型: bool
-
relation
(attr)[源代码]¶ 返回对象上相应字段的 Relation
参数: attr (string_types) – 字段名 返回: Relation 返回类型: leancloud.Relation
-
User¶
-
class
leancloud.
User
(**attrs)[源代码]¶ 基类:
leancloud.object_.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 返回: 没有数据的对象 返回类型: Object
-
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 返回类型: leancloud.ACL
-
has
(attr)¶ 判断此字段是否有值
参数: attr – 字段名 返回: 当有值时返回 True, 否则返回 False 返回类型: bool
-
ignore_hook
(hook_name)¶
-
increment
(attr, amount=1)¶ 在对象此字段上自增对应的数值,如果数值没有指定,默认为一。
参数: - attr – 字段名
- amount – 自增量
返回: 当前对象
-
is_authenticated
()[源代码]¶ 判断当前用户对象是否已登录。 会先检查此用户对象上是否有 session_token,如果有的话,会继续请求服务器验证 session_token 是否合法。
-
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 返回类型: leancloud.Relation
-
remove
(attr, item)¶ 在对象此字段对应的数组中,将指定对象全部移除。
参数: - attr – 字段名
- item – 要移除的对象
返回: 当前对象
-
classmethod
save_all
(objs)¶ 在一个请求中 save 多个 leancloud.Object 对象实例。
参数: objs (list) – 需要 save 的对象
-
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)[源代码]¶ 增加查询条件,限制查询结果对象指定字段的值,与另外一个查询对象的返回结果指定的值不相同。
参数: - key – 查询条件字段名
- query_key – 查询对象返回结果的字段名
- query (Query) – 查询对象
返回类型:
-
does_not_match_query
(key, query)[源代码]¶ 增加查询条件,限制查询结果对象指定字段的值,与另外一个查询对象的返回结果不相同。
参数: - key – 查询条件字段名
- query (Query) – 查询对象
返回类型:
-
endswith
(key, value)[源代码]¶ 增加查询条件,限制查询结果对象指定最短的值,以指定字符串结尾。在数据量比较大的情况下会比较慢。
参数: - key – 查询条件字段名
- value – 需要查询的字符串
返回类型:
-
greater_than_or_equal_to
(key, value)[源代码]¶ 增加查询条件,限制查询结果指定字段的值大于等于查询值
参数: - key – 查询条件字段名
- value – 查询条件值名
返回类型:
-
include_acl
(value=True)[源代码]¶ 设置查询结果的对象,是否包含 ACL 字段。需要在控制台选项中开启对应选项才能生效。
参数: value (bool) – 是否包含 ACL,默认为 True 返回类型: Query
-
less_than_or_equal_to
(key, value)[源代码]¶ 增加查询条件,限制查询结果指定字段的值小于等于查询值
参数: - key – 查询条件字段名
- value – 查询条件值
返回类型:
-
limit
(n)[源代码]¶ 设置查询返回结果的数量。如果不设置,默认为 100。最大返回数量为 1000,如果超过这个数量,需要使用多次查询来获取结果。
参数: n – 限制结果的数量 返回类型: Query
-
matched
(key, regex, ignore_case=False, multi_line=False)[源代码]¶ 增加查询条件,限制查询结果对象指定字段满足指定的正则表达式。
参数: - key – 查询条件字段名
- regex – 查询正则表达式
- ignore_case – 查询是否忽略大小写,默认不忽略
- multi_line – 查询是否匹配多行,默认不匹配
返回类型:
-
matches_key_in_query
(key, query_key, query)[源代码]¶ 增加查询条件,限制查询结果对象指定字段的值,与另外一个查询对象的返回结果指定的值相同。
参数: - key – 查询条件字段名
- query_key – 查询对象返回结果的字段名
- query (Query) – 查询对象
返回类型:
-
matches_query
(key, query)[源代码]¶ 增加查询条件,限制查询结果对象指定字段的值,与另外一个查询对象的返回结果相同。
参数: - key – 查询条件字段名
- query (Query) – 查询对象
返回类型:
-
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¶
-
class
leancloud.
Relation
(parent, key=None)[源代码]¶ 基类:
object
-
query
¶ 获取指向 Relation 内容的 Query 对象。
返回类型: leancloud.Query
-
Role¶
-
class
leancloud.
Role
(name=None, acl=None)[源代码]¶ 基类:
leancloud.object_.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 返回: 没有数据的对象 返回类型: Object
-
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 返回类型: leancloud.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
-
name
¶
-
relation
(attr)¶ 返回对象上相应字段的 Relation
参数: attr (string_types) – 字段名 返回: Relation 返回类型: leancloud.Relation
-
remove
(attr, item)¶ 在对象此字段对应的数组中,将指定对象全部移除。
参数: - attr – 字段名
- item – 要移除的对象
返回: 当前对象
-
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 – 字段名 返回: 当前对象
-
users
¶
-
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
-
latitude
¶ 当前对象的纬度
-
longitude
¶ 当前对象的经度
-
Engine¶
CookieSessionMiddleware¶
-
class
leancloud.engine.
CookieSessionMiddleware
(app, secret, name=u'leancloud:session', excluded_paths=None, fetch_user=False, expires=None, max_age=None)[源代码]¶ 基类:
object
用来在 webhosting 功能中实现自动管理 LeanCloud 用户登录状态的 WSGI 中间件。 使用此中间件之后,在处理 web 请求中调用了 leancloud.User.login() 方法登录成功后, 会将此用户 session token 写入到 cookie 中。 后续此次会话都可以通过 leancloud.User.get_current() 获取到此用户对象。
参数: - secret (str) – 对保存在 cookie 中的用户 session token 进行签名时需要的 key,可使用任意方法随机生成,请不要泄漏
- name (str) – 在 cookie 中保存的 session token 的 key 的名称,默认为 “leancloud:session”
- excluded_paths (list) – 指定哪些 URL path 不处理 session token,比如在处理静态文件的 URL path 上不进行处理,防止无谓的性能浪费
- fetch_user (bool) – 处理请求时是否要从存储服务获取用户数据, 如果为 false 的话, leancloud.User.get_current() 获取到的用户数据上除了 session_token 之外没有任何其他数据, 需要自己调用 fetch() 来获取。 为 true 的话,会自动在用户对象上调用 fetch(),这样将会产生一次数据存储的 API 调用。 默认为 false
- expires (int or datetime) – 设置 cookie 的 expires
- max_age (int) – 设置 cookie 的 max_age,单位为秒
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=u'+86', sms_type=u'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: 调用结果