ok.ru python rest api包装器
aiookru的Python项目详细描述
ok.ru python rest api包装器
关于
这是ok.ru(俄罗斯社交网络)python api包装器。 目标是支持所有的api方法:https://apiok.ru/en/dev/methods/rest。
开始
使用pip安装软件包
pip install aiookru
要使用ok api,您需要在社交网络中注册应用程序和帐户。
- 注册ok.ru
- 创建external应用程序。
- 保存app id,app key,app secret key。
- 使用app id、所需权限列表和用户凭据获取访问令牌。
- 使用访问令牌发出方法请求。
注册后,转到https://apiok.ru/en/dev/app/create并创建应用程序。
app_id='app ID'app_key='app key'app_secret_key='app secret'
含义
通过将用户凭据和权限传递给ImplicitSession
(或ImplicitClientSession
),可以使用OK API OAuth进行身份验证/
ImplicitServerSession
)。
fromaiookru.sessionsimportImplicitSessionphone='+1999123456'password='user password'session=awaitImplicitSession(app_id=app_id,app_key=app_key,app_secret_key=app_secret_key,login=phone,passwd=password,permissions='VALUABLE_ACCESS',)
现在可以执行api请求(请参见Executing API requests)。 身份验证后,您将获得访问令牌session.access\u令牌和 会话密钥session.session_secret_key。保存它们以便以后提出请求:
access_token=session.access_tokensession_secret_key=session.session_secret_key
令牌会话
如果您已经有两个:
app_secret_key
和access_token
session_secret_key
fromaiookru.sessionsimportTokenSessionsession=TokenSession(app_key=app_key,app_secret_key=app_secret_key,access_token=access_token,session_secret_key=session_secret_key,)
您可以实例化TokenSession
(或ClinentSession
/ServerSession
)并执行请求。
执行api请求
fromaiookruimportAPIapi=API(session)# current user's friendsfriends=awaitapi.friends.get()
在引擎盖下,每个api请求都包含有:
application_key
sig
app_secret_key
和access_token
或session_secret_key
format
method
默认情况下,会话尝试推断要使用哪个签名电路:
- 如果
app_secret_key
和access_token
不是空字符串,则使用服务器服务器签名电路 - 否则,如果
session_secret_key
不是空字符串,则使用客户机-服务器签名电路 - 否则将引发异常
您可以通过传递给API
来显式地选择用于签名请求的电路
以下会话中:
服务器电路
fromaiookruimportImplicitServerSession,APIsession=awaitImplicitServerSession(app_id,app_key,app_secret_key,phone,password)api=API(session)
或者如果您已经有访问令牌
fromaiookruimportServerSession,APIsession=ServerSession(app_key,app_secret_key,access_token)
客户机-服务器电路
fromaiookruimportImplicitClientSession,APIsession=awaitImplicitClientSession(app_id,app_key,phone,password)api=API(session)
或者您已经有会话密钥
fromaiookruimportClientSession,APIsession=awaitClientSession(app_key,session_secret_key)api=API(session)
许可证
aiookru根据bsd 2子句许可证发布。